如此处Migration form karate 0.9.2 to 0.9.3 Issue - javascript evaluation failed中所述,我已将空手道版本更新为0.9.5.RC4。
JavaScript的乐趣就像
RewriteEngine on
RewriteRule ^([0-9]+) view.php?iid=$1 [NC, L]
function fn(config) {
var OAuth2 = {};
var userAccessToken = Java.type("com.OAuth2Token");
OAuth2.adminUser = function () {
return userAccessToken.getAuthorizationHeader(name, url, users, "ADMIN");
};
config.OAuth2 = karate.toMap(OAuth2);
return config;
}
Scenario: <scenarioName>
Given path 'url'
And header Authorization = OAuth2.adminUser()
And def Authorization = OAuth2.adminUser()
And print Authorization
错误:javascript评估失败:OAuth2.adminUser(),TypeError:OAuth2.adminUser不是第1行的函数,我在0.9.3中有相同的错误,并且将函数移至通用功能文件。
答案 0 :(得分:0)
这是一个错误,将在下一版本中修复:https://github.com/intuit/karate/issues/982
一种解决方法是,在“方案大纲”下为每个循环重新初始化函数:
Scenario Outline:
* def OAuth2 = karate.call('classpath:com/utils.feature)