开发者社区> 问答> 正文

如何在报告中打印karate日志?

我有

<logger name="com.intuit.karate" level="DEBUG"/>

在我的logback-test.xml中。但是当我运行测试时,我看到

* assert SchemaUtils.isValid(response, schema)

失败,我在Cucumber报告中看不到任何调试信息(带有有效负载和缺少哪个字段或哪个值错误的说明),例如:

error: object instance has properties which are not allowed by the schema: ["PrSKU"]
        level: "error"

我确实在控制台中看到了它:

{content_type=, value=21:54:25.380 assertion failed: assert evaluated to false: SchemaUtils.isValid(response, schema)21:54:25.413

如何在报告中打印日志?

我发现了如何访问先前的请求/响应并将其打印在报告中:

// setup global hook to log details only on failed scenarios
    karate.configure('afterScenario', function(){
        var info = karate.info;
        if(info.errorMessage) {
            karate.log('failed',info.scenarioType+':',info.scenarioName);
            var r = karate.prevRequest;
            if(r) {
                var log = 'request: ' + r.method + ' ' + r.uri + '\n' + karate.pretty(r.headers)
                if(r.body) log += '\n' + karate.pretty(r.body)
                karate.log(log);
                karate.log('response: ' + karate.pretty(response));
            }
        }
    })

但是我没有找到如何访问karate日志然后在报告中打印它们的方法。

问题来源:Stack Overflow

展开
收起
montos 2020-03-24 13:42:25 926 0
1 条回答
写回答
取消 提交回答
  • 由于SchemaUtils.isValid(response, schema)似乎是自定义Java代码,因此我认为如果抛出任何Exception错误消息,karate将打印该错误消息,并应将其显示在日志以及HTML报告中。如果不是,则可能是一个错误-因此,请遵循以下过程:https : //github.com/intuit/karate/wiki/How-to-Submit-an-Issue

    回答来源:Stack Overflow

    2020-03-24 13:42:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
基于日志trace的智能故障定位系统 立即下载
2016钱盾安全报告(8月版) 立即下载
低代码开发师(初级)实战教程 立即下载