0

私は渡す必要がある 1 つの SOAP リクエストで作業しています。1 つのパラメーターに単一のデータを渡し、2 回目の反復では、同じ入力リクエストで複数のテスト データを渡す必要があります。テスト データごとに入力 SOAP リクエストを変更する方法を教えてください。見つけてください。単一および複数のリクエストの以下の SOAP リクエスト。

単一のリクエスト:

<ReqDtls>
<vReqs>
  <amount>1.00</amount>
  <cardNo>8897654778999</cardNo>
</Reqs>
<cardType>caredit</cardType>
</ReqDtls>

複数のリクエスト:同じSOAP入力リクエストで、POSシステムから動的に変化しているのですが、loadrunnerで実行したいです。

<ReqDtls>
<vReqs>
  <amount>1.00</amount>
  <cardNo>8897654778999</cardNo>
</Reqs>
<vReqs>
  <amount>2.00</amount>
  <cardNo>890897654778999</cardNo>
</Reqs>
<cardType>caredit</cardType>
</ReqDtls>

負荷テストのためにExcelファイルからこのタイプの値を渡すためのvugenのコードは、これを行う方法を助けてください

4

1 に答える 1

1

これは、プログラミングの基礎スキルと web_custom_request() (潜在的に) を使用して独自のカスタム文字列を送信する場所です。

ここで繰り返される部分に注意してください

<vReqs>
  <amount>{amount_variable}</amount>
  <cardNo>{card_variable}</cardNo>
</Reqs>

ヘッダーが定義されています

<ReqDtls>

そして定義されたフッター

<cardType>caredit</cardType>
</ReqDtls>

これは、C で文字列を連結し、変数をリテラルに変換する問題になります。このタスクには、ループと低レベルの sprintf() を検討してください。変数宣言はコードフラグメントに含まれていないことに注意してください

sprintf(mybigstring,"<ReqDtls>\r");
for (myloopcounter=1;myloopcounter<=mylooplimit;myloopcounter++)
{
     sprintf(mybigstring,
          "%s%s",
          mybigstring,
          lr_eval_string("<vReqs>\r<amount>{amount_variable}</amount>\r<cardNo>{card_variable}</cardNo>\r</Reqs>\r") );
     lr_advance_param("amount_variable");
     lr_advance_param("card_variable");
}
sprintf(mybigstring,"%s%s",mybigstring,"<cardType>caredit</cardType>\r</ReqDtls>");

上記は noggin から画面への直接的なものであるため、いじる場合は少し時間がかかる場合がありますが、パスのアイデアが得られるはずです。

文字列を取得したら、必要に応じて任意のリクエストで使用できます。

于 2017-01-12T13:30:56.893 に答える