Web services 如何根据loadrunner中的测试数据更改输入soap请求?

Web services 如何根据loadrunner中的测试数据更改输入soap请求?,web-services,soap,performance-testing,loadrunner,vugen,Web Services,Soap,Performance Testing,Loadrunner,Vugen,我正在处理一个我们需要传递的soap请求,在一个参数中包含单个数据,在第二次迭代中,我们需要在同一个输入请求中传递多个测试数据。请帮助我如何根据测试数据更改输入soap请求,请在下面查找单个和多个请求的soap请求 单一请求: <ReqDtls> <vReqs> <amount>1.00</amount> <cardNo>8897654778999</cardNo> </Reqs> <cardTyp

我正在处理一个我们需要传递的soap请求,在一个参数中包含单个数据,在第二次迭代中,我们需要在同一个输入请求中传递多个测试数据。请帮助我如何根据测试数据更改输入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>

< > VuGEN中的任何代码都可以从Excel文件中传递这种类型的值进行负载测试,请帮助您如何执行这个“

< p>”。在这里,您将使用编程中的基础技巧以及WebSuxCube请求,可能会发送您自己的自定义字符串。

注意这里重复的部分

<vReqs>
  <amount>{amount_variable}</amount>
  <cardNo>{card_variable}</cardNo>
</Reqs>
您有一个已定义的标题

<ReqDtls>
和定义的页脚

<cardType>caredit</cardType>
</ReqDtls>
这现在变成了C中字符串连接的问题,并将变量转换为文本。为这个任务考虑一个循环和低空SaveTFF。注意,代码片段中不包括变量声明

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直接到screen的,所以可能需要一些技巧,但它应该给你一个路径的想法


一旦你有了字符串,你就可以根据需要在任何请求中使用它。

你可以运行一个预请求脚本,可以是任何文件来生成SOAP请求,并在每次迭代中存储在一个全局变量中,然后将该变量传递给你的脚本。嗨,Kaustav,请提供示例,以便我能清楚地理解。