使用输入作为JsonArray调用功能,而不会由于强制转换问题而引发空手道异常

时间:2018-08-08 04:32:18

标签: karate

我面临一个问题,如果我使用以下方法调用功能,则会引发KarateException

javascript evaluation failed: x.action(x), com.google.gson.JsonObject cannot be cast to com.google.gson.JsonArray

* def result = call read('abcCommon.feature') { action : "start", input : ["X","Y"]}

在abcCommon.feature中

Scenario: 
* def x = Java.Type('com.x')
* def status = x.action('#(input)')

我的操作方法是将输入读取为字符串,然后将字符串解析为JsonArray并将字符串返回给功能文件

1 个答案:

答案 0 :(得分:0)

这不是有效的嵌入式表达式:x.action('#(input)')。请在此处阅读文档:https://github.com/intuit/karate#rules-for-embedded-expressions

实际上,您应该这样做:x.action(input)如果input已经是范围内的有效变量。

顺便说一下,您的示例非常不完整,我在做一些假设。