2017-10-13 3 views
1

JMeterスクリプトで、HTTP REQUESTを使用して機器の詳細を保存すると、データベースに一意の自動インクリメントID(123と仮定)ストアが保存されます。その後、同じスクリプトで、以前に保存された機器にIncentiveを追加すると、固有のID(123)が通過しているHTTP REQUESTが表示されます。そのIDはデータベースから取得しているので、取得できません。データベースに保存されたユニークなIDをJMeterのHTTPリクエストに渡す方法

当初は、カウンターを使用してデータベースに保存されていない高い数字から開始することを考えていましたが、機器の節約時に生成されたIDと同じIDを必要とするため、機能しませんでした。

HTTP(S)TEST SCRIPT RECORDERを使用してJMeterスクリプトを作成しました。 Select Statement、クエリは、例えば次のようになります。そして、あなたがJDBC PreProcessor(あるいはサンプラー)としてJDBC要素を追加し、クエリタイプ、このIDのあなたの選択を追加する必要があり、あなたがJDBC Connection Configurationを必要とするデータベースに接続するために、適切にデータベース接続を定義するために

+0

あなたのスクリプトを投稿してください。 – awd

答えて

0

オラクルDBでselect sequnceName.NEXTVAL from dual、あなたは、たとえばmySequenceため、Result variable nameでシーケンス結果を置くことができ、後でJSR 223の要素でそれを使用する:

columnValue = vars.getObject("mySequence").get(0).get("NEXTVAL"); 
+0

ありがとうございます... JDBC接続設定を追加しないと何か方法がありますか? – shivam

+0

新しいシーケンスを作成し、それを応答として返すAPIを使用している場合は、そのシーケンスを使用できます – user7294900

0

をですから、「機器の詳細」要求/応答で生成されたIDを抽出することができますし、 JSR223ポストプロセッサを使用して外部の.csvファイルに保存し、 "インセンティブ"要求には.csvファイルを使用します。

このようにして、データベース要求を取り除くことができ、スクリプトはHTTP要求に対してのみ実行され、所要時間は短縮されます。

関連する問題