这是我的第一个问题,所以我会尝试详细解释。
我有很多请求,值几乎总是唯一的,不涉及下一种情况:Request_1和Request_2。 Request_1中有Value_1,此值由DataGen生成(Type ^ Number)。 我想取这个值(After generation)并把它放在Request_2中,但我在DataGen中使用Read模式(需要它),我总是有唯一的编号。
Request_1:
{
"Intent": 0,
"RequestDetail": {
"Stan": "${DataGen#Stan}", **--> for ex: 1234 after generation**
"ReferenceNumber": "${DataGen#RefNum}",
"LocalDateTime": "2015-04-06",
"Amount": 123,
"CurrencyType": 0,
"Track2": "value"
}
Request_2:
{
"Intent": 4,
"RequestDetail": {
"Stan": "${DataGen#Stan}",
"ReferenceNumber": "${DataGen#RefNum}",
"LocalDateTime": "2015-04-06",
"Amount": 123,
"CurrencyType": 0,
"OrigStan": "${Request_1#Request#$.RequestDetail.Stan}" **--> Here I hope to get '1234' but I got differet number.**
}}
感谢。
答案 0 :(得分:0)
在评估后,您需要获取值。这是通过" RawRequest"参数,如:
"OrigStan": "${Request_1#RawRequest#$.RequestDetail.Stan}"
一些旧版本的SoapUI有一个错误,上面的内容无法正常工作。我不确定错误何时得到修复,并且它可能已经重新进入。
您可以使用解决方法。
一种可能性是使用额外的传输测试步骤,将数据源中的值传输到测试用例属性,然后让所有测试步骤引用此 stable 属性。 官方documentation就在这里。
另一种可能性是拥有两个数据源循环,一个循环生成您现在所做的所有数据,第二个循环收集所有数据。第二个循环将再次稳定,您可以安全地使用该值的值。 这在more detail SoapUI提示和技巧部分中进行了描述。