Karate 空手道:我们如何从调用的特征文件中检索值
在特征文件A中有两个参数,我将这些值传递给另一个称为B的特征文件 但我无法检索功能文件B中预期的值 代码: 功能文件A:Karate 空手道:我们如何从调用的特征文件中检索值,karate,Karate,在特征文件A中有两个参数,我将这些值传递给另一个称为B的特征文件 但我无法检索功能文件B中预期的值 代码: 功能文件A: And def Response = response And def token = response.metaData.paging.token And def totalPages = response.metaData.paging.totalPages * def xyz = """ function(times){ for(currentPage=
And def Response = response
And def token = response.metaData.paging.token
And def totalPages = response.metaData.paging.totalPages
* def xyz =
"""
function(times){
for(currentPage=1;currentPage<=times;currentPage++){
karate.log('Run test round: '+(currentPage));
karate.call('ABC.feature', {getToken:token, page:currentPage});
}
java.lang.Thread.sleep(1*1000);
}
"""
* call xyz totalPages
* def token = '#(getToken)'
* def currentPage = '#(page)'
但产出是有限的
#格托肯
#页面
最好的办法是什么?要进一步利用这些值。请尝试以下操作:
* def token = getToken
* def currentPage = page
还有一件事,调用功能中定义的任何变量都是可见的,例如,token
,因此大多数时候不需要传递参数:
* print token
* print totalPages
请尽可能避免JS for循环:-事实上,您似乎错过了空手道推荐的数据驱动测试方法:
如果您仍然被卡住,请遵循此过程:我尝试过,它给出以下异常:com.intuit.karate.exception.karate exception:-未知-:7-javascript评估失败:getToken,ReferenceError:“getToken”未在第1行定义,如您所说,由于令牌的可见性,我可以使用它,因此无法访问page@AshokkumarGanesan我没有更多的补充。等待其他人的帮助或遵循此过程:在调用的功能文件上,我可以打印页面值,但无法指定参数。示例:And print pageNo---打印值,参数pageNumber=pageNo和print pageNumber---打印empty@AshokkumarGanesan