Karate 在空手道0.9.5.RC5中将Json对象作为def传递时,Object.keys(数据)Js fu不起作用 具有以下功能的Js文件 具有以下步骤的功能文件 功能:示例功能 场景大纲:示例场景 #这是我的作品 *def a=OAuth2({firstName:'',lastName:''}) *打印 #这行不通 和def req={firstName:'',lastName:''} *def b=OAuth2(需要) *打印b 示例: |姓| |a | a1| 在var keys=Object.keys(数据)处给出错误 javascript求值失败:OAuth2(req),TypeError:{firstName=a,lastName=a1}不是中的对象
请不要使用Karate 在空手道0.9.5.RC5中将Json对象作为def传递时,Object.keys(数据)Js fu不起作用 具有以下功能的Js文件 具有以下步骤的功能文件 功能:示例功能 场景大纲:示例场景 #这是我的作品 *def a=OAuth2({firstName:'',lastName:''}) *打印 #这行不通 和def req={firstName:'',lastName:''} *def b=OAuth2(需要) *打印b 示例: |姓| |a | a1| 在var keys=Object.keys(数据)处给出错误 javascript求值失败:OAuth2(req),TypeError:{firstName=a,lastName=a1}不是中的对象,karate,Karate,请不要使用Object.keys()-改用。请不要使用Object.keys()-改用。空手道.keysOf()有效,但为什么*def a=OAuth2({firstName:'',lastName:''})使用Object.keys()?@Jdafda,因为这是纯JS。默认情况下,karate将JSON转换为与“普通”JS不兼容的Java(Map)对象。请把这个答案标记为“接受”——你似乎从来没有这样做过:哈哈。。当然因此,您的意思是当作为def req={firstName:'',lastN
Object.keys()
-改用。请不要使用Object.keys()
-改用。空手道.keysOf()有效,但为什么*def a=OAuth2({firstName:'',lastName:''})
使用Object.keys()?@Jdafda,因为这是纯JS。默认情况下,karate将JSON转换为与“普通”JS不兼容的Java(Map
)对象。请把这个答案标记为“接受”——你似乎从来没有这样做过:哈哈。。当然因此,您的意思是当作为def req={firstName:'',lastName:''}
传递时,它将转换为Java(映射),但当作为OAuth2({firstName:'',lastName:''})传递时,
它的JsonObject@Jdafda这是正确的。感谢您的“接受”:)karate.keysOf()有效,但为什么*def a=OAuth2({firstName:'',lastName:''})
使用Object.keys()?@Jdafda,因为这是纯JS。默认情况下,karate将JSON转换为与“普通”JS不兼容的Java(Map
)对象。请把这个答案标记为“接受”——你似乎从来没有这样做过:哈哈。。当然因此,您的意思是当作为def req={firstName:'',lastName:''}
传递时,它将转换为Java(映射),但当作为OAuth2({firstName:'',lastName:''})传递时,
它的JsonObject@Jdafda这是正确的。感谢您的“接受”:
function fn(config) {
config.OAuth2 = function (data) {
var keys = Object.keys(data);
return keys;
}
return config;
}
Feature: Sample Feature
Scenario Outline: Sample Scenario
#This is works
* def a = OAuth2({firstName: '<firstName>',lastName: '<lastName>'})
* print a
#This do not work
And def req = {firstName: '<firstName>',lastName: '<lastName>'}
* def b = OAuth2(req)
* print b
Examples:
| firstName | lastName |
| a | a1 |
javascript evaluation failed: OAuth2(req), TypeError: {firstName=a, lastName=a1} is not an Object in <eval>