Karate 空手道-如何使用执行挂钩获得响应
我有以下功能文件:Karate 空手道-如何使用执行挂钩获得响应,karate,Karate,我有以下功能文件: Given def query = karate.call('classpath:query/Story/FindStoryByID.js') And def variables = { id: "xxyy" } And request { query: '#(query)', variables: '#(variables)' } When method POST Then status 200 And m
Given def query = karate.call('classpath:query/Story/FindStoryByID.js')
And def variables = { id: "xxyy" }
And request { query: '#(query)', variables: '#(variables)' }
When method POST
Then status 200
And match response.data.FindStoryByID.id != '#null'
我目前正在尝试执行一个beforeStep
,以便使用karate.write将功能的整个GraphQL请求(query
)写入一个文件
到目前为止,我已经得出了以下结论:
@Override
public boolean beforeStep(Step step, ScenarioContext context) {
if (step.getText().trim().contains("request {")) {
System.out.println(step.getText());
}
return true;
}
这成功触发了一个打印,这表明我在正确的方向戳。问题是我仍然无法弄清楚应该如何访问变量(query
),就像我们可以在JS/Feature文件(karate.get('query');
)上访问的变量一样
我想知道是否有可能通过这样的执行钩子来实现这样的壮举
非常感谢 啊,找到了!这就行了
context.vars.get("query"));
是的,您还可以通过ctx.eval(string)