2016-10-04 21 views
0

アプリケーションが100sのクエリでリクエストを送信するテストシナリオをシミュレートする必要があります。バックエンドでは、この要求はそれぞれ単一のクエリを含む要求に分解されます。したがって、100クエリのJmeterからの要求は、バックエンドで100要求になります。今、バックエンドからの応答には、それぞれのクエリの要求されたデータが含まれるか、または一意のクエリIDが含まれます。 queryIDを送り返すことは、このクエリがまだ実行中であることを伝えるサーバーの方法です。たとえば、Jmeterが100クエリでリクエストを送信した場合、80と20の一意のクエリIDのバックデータが返される可能性があります。したがって、テスト対象のアプリケーションは、要求されたデータまたはタイムアウトを取得するまで、15秒ごとにこれらの20のqueryIDを使用してコールバック要求を行います。jmeterの中で再帰呼び出しを実装する方法は?

ここまでは私がこれまで実装してきたものです。私が実装したい何

-main_request_with_100_queries 
--XPath_extractor_to_extract_any_queryIDs_found 
-if_controller_to_check_if_queryID_MatchNr_is_greater_than_0 
--15_second_pause 
--beanshell_preprocessor_to_create_the_request_body_with_all_queryIDs 
--callback_request_with_queryIDs 

は私callback_requestために別のXPath抽出を持ち、任意のqueryIDsが見つかった場合、その後、module_controllerを使用してif_controller

私はこの仕事をするためにしようとしているに戻って行くことですしかし、これまでのところ運がない。誰もこれのようなものを実装していますか?誰かがいくつかのアイデアを提案できますか

答えて

0

While Controllerを使用すると、応答にqueryIDがあるまでリクエストを作成し続けることができます。

While Controller [ "${querid.present}"=="true" ] 
    HTTP Request 
    Pre Processor [to_create_the_request_body_with_all_queryIDs] 
    Post Processor [to check for query ID. if no query id - change querid.present to false ] 

可能であれば、正規表現エクストラクターを使用してください。 xpathは非常に遅く、スクリプトのパフォーマンスに影響を与える可能性があります。詳細についてはhereを確認してください。

Creating modular test script in JMeter

+0

ありがとうございます。コントローラははるかに理にかなっています。 – singh2005

関連する問題