如何根据 loadrunner 中的测试数据更改输入 soap 请求?
How to change input soap request as per test data in loadrunner?
我正在处理一个 soap 请求,我们需要在其中传递一个参数中的单个数据,在第二次迭代中,我们需要在同一输入中传递多个测试数据request.Please 帮助我如何更改输入 soap 请求根据测试数据,请在下面找到单个和多个请求的 soap 请求。
单个请求:
<ReqDtls>
<vReqs>
<amount>1.00</amount>
<cardNo>8897654778999</cardNo>
</Reqs>
<cardType>caredit</cardType>
</ReqDtls>
多个 Requests:In 相同的 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 文件中传递此类值以进行负载测试,请帮助如何执行此操作
在这里您将使用您的编程基础技能以及 web_custom_request()(可能)发送您自己的自定义字符串。
注意这里重复的部分
<vReqs>
<amount>{amount_variable}</amount>
<cardNo>{card_variable}</cardNo>
</Reqs>
您已定义 header
<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 到屏幕的,因此可能需要一点时间,但它应该可以让您了解路径。
一旦你有了你的字符串,你就可以根据需要在任何请求中使用它。
我正在处理一个 soap 请求,我们需要在其中传递一个参数中的单个数据,在第二次迭代中,我们需要在同一输入中传递多个测试数据request.Please 帮助我如何更改输入 soap 请求根据测试数据,请在下面找到单个和多个请求的 soap 请求。
单个请求:
<ReqDtls>
<vReqs>
<amount>1.00</amount>
<cardNo>8897654778999</cardNo>
</Reqs>
<cardType>caredit</cardType>
</ReqDtls>
多个 Requests:In 相同的 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 文件中传递此类值以进行负载测试,请帮助如何执行此操作
在这里您将使用您的编程基础技能以及 web_custom_request()(可能)发送您自己的自定义字符串。
注意这里重复的部分
<vReqs>
<amount>{amount_variable}</amount>
<cardNo>{card_variable}</cardNo>
</Reqs>
您已定义 header
<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 到屏幕的,因此可能需要一点时间,但它应该可以让您了解路径。
一旦你有了你的字符串,你就可以根据需要在任何请求中使用它。