JSR223サンプラーから、変数sampler
を使用して現在のテストエレメントにアクセスできます。サンプラースクリプト内からJMeterテストエレメントツリーをナビゲートする方法
そこから、TestElement
オブジェクトのツリーをナビゲートするにはどうすればよいですか?たとえば、親テストエレメント(親の親など)にアクセスするにはどうすればよいですか、またはTestPlan
テストエレメントにアクセスするにはどうすればよいですか?
背景:
私は動的なGroovyを使ってJSR223サンプラーからJDBCコネクション構成要素を作成したい。
他の質問(例:here)やウェブ検索(例:here)から、私はトップダウンからテストプラン要素を作成する方法を知っています(例えば、テスト計画を作成してそこからツリーを作成する方法) 。だから私はTestElement
のnew DataSourceElement()
を実行する方法を知っていますが、その新しい要素をテスト計画に追加する方法はわかりません。サンプラースクリプトでは、sampler
(Sampler)とctx
(JMeterContext)の変数にアクセスできますが、テストエレメントツリーをナビゲートする方法はわかりません。
私はちょうどsampler.addTestElement
を使ってみましたが、config要素はsampler要素の下で本当に有効ではありません。それでも、私は試してみましたが、JDBCリクエストで使用しようとしたときにconfig要素が見つかりませんでした(エラー: "プール名が見つかりません: 'myDatabaseThreadPool'、変数名がJDBC接続コンフィグレーション変数名と一致していることを確認してください)。
TestPlan
要素を取得してconfig要素を追加すればうまくいくと思っています。
FWIWは、私のテスト計画は、次のようになります。
- テスト計画
- スレッドグループ1これは私が欲しいところです
- JSR223サンプラー((セットアップスレッドグループすることができます)動的設定を作成する)
- スレッドグループ2(複数スレッド)
- JDBCリクエスト(動的な設定で指定されたプールの変数名を使用しています)
- ビューは私が動的に作成したい理由について、さらに詳細に行くことができますツリー
- スレッドグループ1これは私が欲しいところです
結果JDBC接続の設定ですが、私のサンプラースクリプトの内部からテストエレメントツリーをナビゲートする方法についての簡単な答えがある場合は、とにかくそれを知りたいです。