Karate 验证xpath位置中包含多个数据的数据
我有下面这样的XML,我需要用大量同名数据验证XML(附加索引) 如下图所示 我不想给每个名字,手机等单独列,所以在示例中我传递sum,men,121212682312;suj,men,221212682312****suu,men,321212682312或者我可以用JSON格式传递Karate 验证xpath位置中包含多个数据的数据,karate,Karate,我有下面这样的XML,我需要用大量同名数据验证XML(附加索引) 如下图所示 我不想给每个名字,手机等单独列,所以在示例中我传递sum,men,121212682312;suj,men,221212682312****suu,men,321212682312或者我可以用JSON格式传递 1. What is the best way to do this without using Java Code. 2. *def strVals=get response/Response/transac
1. What is the best way to do this without using Java Code.
2. *def strVals=get response/Response/transaction/values
And print strVals
- Not printing any value
<Response>
<RequestID>1</RequestID>
<transaction>
<values>
<data name="firstName0">sum</data>
<data name="lastName0">men</data>
<data name="mobile0">1212121212</data>
<data name="zip0">682312</data>
<data name="firstName1">suj</data>
<data name="lastName1">men</data>
<data name="mobile1">2212121212</data>
<data name="zip1">682312</data>
<data name="firstName2">suu</data>
<data name="lastName2">men</data>
<data name="mobile2">3212121212</data>
<data name="zip2">682312</data>
<data name="firstName3">ssss</data>
<data name="lastName3">mmmmmmm</data>
<data name="mobile3">4212121212</data>
<data name="zip3">682312</data>
</values>
</transaction>
</Response>
1。不使用Java代码的最佳方法是什么。
2. *def strVals=获取响应/响应/事务/值
和打印字符串
-不打印任何值
1.
总和
男人
1212121212
682312
萨图马雷
男人
2212121212
682312
苏
男人
3212121212
682312
ssss
嗯
4212121212
682312
我将提供一个关于如何动态构建此XML的提示,其余内容由您决定:
* def temp = <values></values>
* def data = [{first: 'John', value: 'foo'}, {first: 'Smith', value: 'bar'}]
* def fun =
"""
function(x, i){
var path = '/values/data[' + (i + 1) + ']';
karate.set('temp', path + '/@name', 'firstName' + i);
karate.set('temp', path, x.value);
}
"""
* karate.forEach(data, fun)
* print temp
*def temp=
*def data=[{first:'John',value:'foo'},{first:'Smith',value:'bar'}]
*def fun=
"""
函数(x,i){
变量路径='/values/data['+(i+1)+'];
空手道.set('temp',path+'/@name','firstName'+i);
空手道设置('temp',path,x.value);
}
"""
*空手道。forEach(数据,乐趣)
*打印温度
这将导致:
<values>
<data name="firstName0">foo</data>
<data name="firstName1">bar</data>
</values>
福
酒吧