使用输入作为 JsonArray 调用功能,而不会因转换问题而抛出 Karate 异常

Call feature with input as JsonArray without throwing Karate exception due to cast issue

我遇到一个问题,如果我使用以下方法调用功能,它会抛出 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,然后 returns 将字符串解析回特征文件

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

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

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