Karate 如何获得用于钩子的响应
我试图制作一个简化版本的测试报告,其中生成一个HTML文件报告,其中只包含断言和错误响应消息(尝试不发布所有日志和步骤) 我知道我们空手道有钩子。但是,我在github中查找了空手道对象,但找不到任何可以从中提取响应的对象(将传递给名为on hook的js函数) 我现在正在做的是: 配置:Karate 如何获得用于钩子的响应,karate,Karate,我试图制作一个简化版本的测试报告,其中生成一个HTML文件报告,其中只包含断言和错误响应消息(尝试不发布所有日志和步骤) 我知道我们空手道有钩子。但是,我在github中查找了空手道对象,但找不到任何可以从中提取响应的对象(将传递给名为on hook的js函数) 我现在正在做的是: 配置: //karate-config.js karate.configure('afterScenario', karate.call('classpath:hooks.js')); //hooks.js //L
//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);
}
挂钩:
//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);
}
空手道上的东西我遗漏了什么吗?或者这应该通过另一种方式实现
非常感谢 试试这个:
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
我试过空手道。直接获得('response')和
response
,两者都有效。如果使用karate.call()
将响应作为参数传递。Hi-Peter。它正在返回null
value@Raymond请参阅我的编辑。如果您仍然有问题,请遵循以下过程:我发现了一个异常行为,尽管我已经将hooks.js
文件作为afterScenario
或甚至afterFeature
放在karate config.js
上,它在实际获得响应之前打印日志。@Raymond可能是个bug-因此请参阅^OMG my bad上面的链接。非常感谢,彼得!