如何获得要在钩子上使用的响应

时间:2019-08-16 03:31:52

标签: karate

我正在尝试简化测试报告的版本,在其中生成单个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);
  }

我在空手道对象上缺少任何东西吗?还是应该以其他方式实现?

非常感谢!

1 个答案:

答案 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作为参数。