使用 karate.call 传递多个参数

Passing multiple parameters using karate.call

我正在尝试在第二个功能文件中调用 API,从第一个功能文件传递参数。说从第一个 API response.These 返回的令牌和当前页面值必须作为第二个 API

的参数传递
   * def activeDetails =
    """
      function(times){
        for(i=0;i<=times;i++){
          karate.log('Run test round: '+(i+1));
          karate.call('getActiveRouteDetails.feature', { token: token, currentPage: i });
        }
        java.lang.Thread.sleep(1*1000);
      }
    """
* call activeDetails totalPages

在我的第二个功能中,我能够打印传递的值,但无法传递参数。你能帮帮我吗

And print currentPage
And print token
And param pageNumber  = '#currentPage'
And param token = token

当您处于 JavaScript 块中时,会有细微的差别。请阅读:https://github.com/intuit/karate#karate-expressions

进行此更改:

var result = karate.call('examples/getDetails.feature', { token: token, currentPage, i });

并且请不要使用像 current page 这样的变量名,如果需要帮助,请寻求 JavaScript 程序员朋友的帮助。

另请注意,最佳做法是尽可能避免 JS 代码和循环:https://github.com/intuit/karate#loops