我正在尝试简化测试报告的版本,在其中生成单个HTML文件报告,该报告仅包含断言和错误响应消息(尝试不发布所有日志和步骤)。
我知道我们在空手道中有一些迷。但是我一直在github中寻找空手道对象,但是找不到任何可以提取响应的对象(传递给在钩子上调用的js函数)
我现在正在做的是这样
配置:
//karate-config.js
karate.configure('afterScenario', karate.call('classpath:hooks.js'));
挂钩:
//hooks.js
//Looking on how to extract the response and log it here
function(){
var info = karate.tags;
karate.log('Tags', info);
}
我在空手道对象上缺少任何东西吗?还是应该以其他方式实现?
非常感谢!
答案 0 :(得分:1)
尝试一下:
var response = karate.get('response');
编辑更好的例子:
Background:
* configure afterScenario = function(){ karate.log('***', karate.get("response.headers['X-Karate']")) }
Scenario:
Given url 'http://httpbin.org'
And path 'headers'
And header X-Karate = 'test'
When method get
# this will fail
Then status 400
我已经尝试同时使用karate.get('response')
和response
,并且都可以使用。如果您使用karate.call()
,请传递response
作为参数。