【发布时间】:2019-12-26 13:58:17
【问题描述】:
如何从 __arg 读取令牌字符串并使用 Karate DSL 在 json 请求中发送此字符串?
将字符串令牌值从第一个响应存储到 __arg
这很好用:
Then match response.result.token == '#string'
* def tokenPathInstance =
"""
function() { karate.write(response.result.token, '__arg'); }
"""
* def tokenPath = call tokenPathInstance
但是对于下一个 json 请求,我尝试了下一个代码,但这对我的需求不起作用:
def jsonInstance =
"""
function(token) {
var DTO = Java.type('requestbody.DTO');
var li = new DTO();
li.setToken(token);
return li.toJson();
}
"""
def token = read('file:target/__arg')
def reqBody = call jsonInstance token
我只在请求中看到: “令牌”:“java.io.FileInputStream@693dc9dc”,
【问题讨论】:
-
你需要在你的问题上投入更多的精力:github.com/intuit/karate/wiki/How-to-Submit-an-Issue
-
@antony-nick:如果您能在下次发现问题时提供一个自运行场景,那就太好了。这使得重现错误或修复示例变得容易。
标签: javascript java json dsl karate