错误 - 无法转换,不是 json 字符串:[类型:INPUT_STREAM,值:空手道框架中的 java.io.BufferedInputStream@5f8890c2

Error - cannot convert, not a json string: [type: INPUT_STREAM, value: java.io.BufferedInputStream@5f8890c2 in karate framework

在空手道框架中,执行一个测试用例时出现错误

java.lang.RuntimeException:无法转换,不是 json 字符串:[类型:INPUT_STREAM,值:java.io.BufferedInputStream@5f8890c2] 在 com.intuit.karate.Script.toJsonDoc(Script.java:619) 在 com.intuit.karate.Script.assign(Script.java:586) 在 com.intuit.karate.Script.assignJson(Script.java:543) 在 com.intuit.karate.StepDefs.castToJson(StepDefs.java:329) 在✽.* json vExpectedJSONObject = vExpectedJSONFileContent,

实际上,在此框架中,我们正在执行 sql 查询,然后该查询的结果存储在 abc.json 文件中。但由于这个错误,结果没有存储在 json 文件中。

我已经厌倦了文件编码等多个选项 - 设置为 utf-8,然后将插件添加到 pom.xml。

json vExpectedJSONObject = vExpectedJSONFileContent,我希望 sql 结果应该存储在 json 文件中。

终于找到了解决方案:),问题与框架设置有关,实际上我们正在尝试调用 Runtime.getRuntime().exec 函数来通过在 cmd 提示符下使用命令来执行我们的 sql 查询.但由于某些访问权限,该命令未执行,所以在调试后,我们将 mysql.exe 文件放入 jre/bin 文件夹,然后它就可以工作了....