关于空手道:如何获得响应以在钩子上使用

How to obtain response to be used on hooks

我正在尝试制作一个简化版本的测试报告,其中我正在生成一个 HTML 文件报告,其中仅包含断言和错误响应消息(尝试不发布所有日志和步骤)。

我知道我们有空手道的钩子。但是,我在 github 中查找了空手道对象,但找不到任何可以从中提取响应的对象(要传递给挂钩上调用的 js 函数)

我现在正在做的是:

配置:

1
2
//karate-config.js
karate.configure('afterScenario', karate.call('classpath:hooks.js'));

钩子:

1
2
3
4
5
6
//hooks.js
//Looking on how to extract the response and log it here
function(){
    var info = karate.tags;
    karate.log('Tags', info);
  }

我在空手道物品上遗漏了什么吗?或者这应该以其他方式实现?

非常感谢!


试试这个:

1
var response = karate.get('response');

编辑更好的例子:

1
2
3
4
5
6
7
8
9
10
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 作为参数。