私のシナリオは:オブジェクトを作成しました。そのオブジェクトのログを取得する必要があります。ログには、running
またはfinished
などのステータスを持つ10個のIDが含まれます。の場合は、次のサンプラーを実行する必要があります。失敗した場合は、ループを終了します。コントローラでJMeterのJSON Extractorを読み込む方法は?
${__javaScript("${IDstatus}" !="FINISHED")}
のwhile controller
を試しました。ループは決して終了しません。状態はfinished
です。
あなたはJSONオブジェクトの詳細情報を共有していただけますか? –
私は今スクリーンショットを投稿できません。しかし、私はあなたの要件を達成することができました。 'JSON Extractor'を使ってレスポンスを抽出し、' For Each Controller'を追加し、JSON抽出子の 'input variable'を入力すると、' Start Index'が '0'、End Index'が空白のままです。 'Output Variable Name'に' returnVar'を入力してください。今度は 'If controller'を追加し、' '$ {returnVar}" == "finished" 'という条件を入力してください。条件が満たされた場合、それぞれのサンプラーが実行され、そうでない場合は実行されます。これがあなたを助けてくれたら教えてください。 JSR223サンプラーを使っても同じことができます。 –
答えをありがとう。目的のソリューションは機能していないようです。 foreachコントローラ全体を単にスキップします。私は要求にグローバル変数を使用してforeachコントローラを2番目のスレッドグループに保持しています コントローラで唯一の問題は、条件を読み取っていなくても要求を実行し続けていることです。 json extractorで一致数= 1を指定した場合でも条件が正常に機能しましたが、すべての10個のIDのステータスをチェックしたいと思います。 – userJmeter