Karate 空手道:我们如何从调用的特征文件中检索值

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=

在特征文件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=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