0

while コントローラーを jmeter で動作させるのに問題があります。

ユーザー定義変数を再評価しないと読んだような気がするので、代わりにプロパティを使用しようとしています。

まず、BSF アサーションを使用して keepLo​​oping というプロパティを設定します。

${__setProperty(keepLooping, true)};

これは、次の条件でWhileコントローラーに入ると機能するようです

${__property(keepLooping)}

しかし、私は一生、そのプロパティを別のものに変更することはできません。httpリクエストの結果のテキストに応じてプロパティを変更したい。

したがって、Regular Expression Extractor を使用して変数を設定していますが、設定されていることがわかります。次に、BSF アサーションを使用して、設定した変数に基づいて keepLo​​oping プロパティを設定しようとしています。次のようにJavaScriptを使用しています。

log.info("IM IN HERE");
log.info("props is "+props);
//log.info("props keep looping is  "+props["keepLooping"]);
if (${surveyRequired} == false){
    log.info("IM IN HERE 1A and props is "+props);
    ${__setProperty(keepLooping, true)};
    log.info("IM IN HERE 1B");
}
else {
    log.info("IM IN HERE 2A");  
    ${__setProperty(keepLooping, false)};
    log.info("IM IN HERE 2B");
}

javascript でプロパティを設定する方法がわかりません。いくつか試してみました。誰でも助けることができますか?どうもありがとう!

また、jmeter の多くの「癖」と思われるものを交渉する優れたリソースを推奨できる人はいますか? どうもありがとう!

4

2 に答える 2

2

「ユーザー定義変数を再評価しないと読んだような気がします」-私はJMeter 2.9を使用していますが、実際にそうです。ループ回数をカウントするために、ユーザー定義変数を使用します。次のようになります${__javaScript(${MY_USER_DEFINED_VARIABLE}>0)}。唯一面倒なことは、変数の値を取得し、それをインクリメントし、( toString()Groovy で)文字列にキャストし、 MY_USER_DEFINED_VARIABLE(を使用してvars.putObject("MY_USER_DEFINED_VARIABLE",localBSFVariable))新しい値を入れなければならないことです。

于 2013-10-14T05:37:41.633 に答える
0

この jmeter スレッドで詳しく説明されているように、vars.put または props.put を使用すると役立ちます。

于 2013-10-11T04:33:06.383 に答える