私はJmeterを初めて使用するので、クエリの結果をグローバル変数に格納して別のスレッドで使用する方法があるかどうかを知りたいです。
つまり、DBから開始日と終了日(2つの値)を設定するセットアップスレッドが必要です。次に、2番目のスレッド(メインスレッド)で、テストのパラメーターとして開始日と終了日を使用する必要があります。
これは可能ですか?
よろしくお願いします!、ナウエル
私はJmeterを初めて使用するので、クエリの結果をグローバル変数に格納して別のスレッドで使用する方法があるかどうかを知りたいです。
つまり、DBから開始日と終了日(2つの値)を設定するセットアップスレッドが必要です。次に、2番目のスレッド(メインスレッド)で、テストのパラメーターとして開始日と終了日を使用する必要があります。
これは可能ですか?
よろしくお願いします!、ナウエル
次の要素を使用します。
次のように整理します。
次のように機能します。
JDBC接続構成は、DBへの接続をセットアップします。名前は、JDBC要求の変数名と一致するように変数名を指定します。私の場合は、connという名前を付けます。
セットアップスレッドグループは、JDBCリクエストを介してクエリを実行し、結果を変数に格納します
Beanshellサンプラーは値を使用し、それをプロパティとして格納して、すべてのスレッドで共有できるようにします。
次の点に注意してください。
JDBCリクエストの変数名は、SQLクエリによって返される列の数と一致する必要があります。たとえば、3つの列があり、3つの変数を配置し、クエリによって返される行のみがあることを確認するため、clt_nom_1nameを使用します。
Bean Shellサンプラーに、次のコードを配置しました。
props.put("toto",vars.get("clt_nom_1"));
clt_nom_1は最初の行の値であるため、このように名前が付けられます
最後に、スレッドグループでプロパティtotoを使用できます。
${__P(toto)}
BeanShellサンプラーを次の名前のデバッグサンプラーに置き換えることもできます。
${__setProperty(toto,${clt_nom_1})};
プロパティに変数を格納します
私はそれを別の方法で行いました:言語として「Javascript」を使用するBSFPostProcesserを作成しました:
var strData = prev.getResponseDataAsString(); //This is a string delimited with character return
var listData = strData.split('\n');
次に、のようなリストデータからのようなあらゆる種類のことを行うことができますvars.putObject
。
注:JDBCリクエストのSELECTクエリで機能します。