我正在尝试调用javascript中的空手道功能,并捕获其响应,如下所示,但在执行此操作时,来自karate.call的响应显示为垃圾值(com.intuit.karate.ScriptObjectMap@XXXX)。请帮助从karate.call获得实际的值,或者给我建议任何最好的想法?
function RequestMandator(featurepath,data) {
var Mandator = [];
data.forEach(function(data){
var TransferId = data.TransferID;
var FocusKey = data.TransferID + ':';
var TimeStamp = data.LastUpdate;
var result = karate.call(featurepath, { input: [TransferId, FocusKey,TimeStamp ] });
karate.log('Added Mandator :', result);
Mandator.push(result);
})
return Mandator;
}输出:
11:32:53.307 [main] WARN com.intuit.karate - xml parsing failed, response data type set to string: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 15; Open quote is expected for attribute "border" associated with an element type "table".
11:32:53.310 [main] INFO com.intuit.karate - Added Mandator : com.intuit.karate.ScriptObjectMap@102d92c4
Error:
com.intuit.karate.exception.KarateFileNotFoundException: C:\XXXXXXXX\com.intuit.karate.ScriptObjectMap@7808fb9,com.intuit.karate.ScriptObjectMap@25d958c6,com.intuit.karate.ScriptObjectMap@5eeedb60,com.intuit.karate.ScriptObjectMap@6ad6fa53,com.intuit.karate.ScriptObjectMap@6f099cef,com.intuit.karate.ScriptObjectMap@2d66530f,com.intuit.karate.ScriptObjectMap@25b865b5 (The filename, directory name, or volume label syntax is incorrect)
at com.intuit.karate.FileUtils.getFileStream(FileUtils.java:146)
at com.intuit.karate.FileUtils.readFile(FileUtils.java:110)
at com.intuit.karate.ScriptBridge.read(ScriptBridge.java:67)发布于 2018-07-25 16:24:26
请参考有关类型转换的文档:https://github.com/intuit/karate#type-conversion
根据您提供的不完整信息,不可能得出结论。让我试一试,我认为你在调用这个函数之前在字符串连接方面做了一些错误的事情。featurepath的值是完全错误的。
在下面的示例中,看看JS函数中的字符串连接是如何导致您所说的“垃圾值”的:
* def fun = function(){ var temp = { hello: 'world' }; return temp + '' }
* def bar = fun()
* print "bar:", bar输出结果:
13:52:50.912 [main] INFO com.intuit.karate - [print] bar: [object Object]如果你仍然被卡住了,我唯一的建议就是按照这里的说明去做:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
https://stackoverflow.com/questions/51510497
复制相似问题