我们可以从空手道中的afterScenario失败Scenario/Scenario-Outline吗 [英] Can we fail Scenario/Scenario-Outline from afterScenario in Karate

查看:126
本文介绍了我们可以从空手道中的afterScenario失败Scenario/Scenario-Outline吗的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于空手道中没有软断言,我们可以使空手道中afterScenario中的场景/场景大纲失败吗?

Can we fail a scenario/scenario-outline from afterScenario in karate, As there are no soft assertions in karate.

我希望我的空手道代码能够运行完整的场景,最后它应该报告什么是失败和通过.

I want my karate code to run complete scenario and finally it should report what are failure and pass.

解决方法:- 1.我通过从afterScenario调用自己的Java类来尝试空手道记录器,但是它没有在空手道报告中进行报告. 2.在afterScenario中尝试在自己的Java类中使用Assert语句,但是在空手道报告中未显示失败状态

Work Around:- 1. I tried karate loggers by calling own Java class from afterScenario but it is not reporting in karate report. 2. Tried with Assert statement in own Java class from afterScenario but it is not showing fail status in karate report

解决方法1:-

**场景中的场景之后**

** After Scenario in Background **

* configure afterScenario =
"""
function(){
var LoggerPage = Java.type('karate.LoggersPage');
new LoggerPage().error();
}
"""

**自定义Java类方法Logger页面**

** Custom Java class method Logger Page **

public void error() {
Logger logger = new Logger();
LogAppender appender = null;
logger.setAppender(appender);
logger.error("Srinu Verifying");
}

解决2:- **在后台执行场景后**

Work Around 2:- ** After Scenario in Background **

* configure afterScenario =
"""
function(){
var AssertPage = Java.type('karate.AssetPage');
new AssertPage ().assert();
}
"""

** Java类中的资产声明**

** Asset statement in Java class **

public void error() {
 Assert.assertTrue(false);
}

推荐答案

我们能否使afterScenario中的方案/方案概述失败

Can we fail a scenario/scenario-outline from afterScenario

不,你不能.从未计划在空手道中实现此功能,因此,如果您对此感兴趣,请贡献代码.

No you can't. This is never planned to be implemented in Karate, so if you are so interested in this, please contribute code.

实际上,您实际上根本不需要软断言",因为Scenario Outline(或 call循环)-即使一个失败,也会执行Examples的所有行(或整个数组).

You actually never need "soft assertions" in the first place, because a Scenario Outline (or a call loop using an array of JSON-s as an argument) - will execute all rows of Examples (or the whole array) even if one fails.

这篇关于我们可以从空手道中的afterScenario失败Scenario/Scenario-Outline吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆