我们可以在空手道的 afterScenario 中失败 Scenario/Scenario-Outline

Can we fail Scenario/Scenario-Outline from afterScenario in Karate

我们能否在空手道的 afterScenario 中使 scenario/scenario-outline 失败,因为空手道中没有软断言。

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

解决方法:- 1. 我通过从 afterScenario 调用自己的 Java class 来尝试空手道记录器,但它没有在空手道报告中报告。 2. 尝试在 afterScenario Java class 中使用 Assert 语句,但在空手道报告

中未显示失败状态

解决 1:-

** 后台场景后 **

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

** 自定义 Java class 方法记录器页面 **

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

解决方法 2:- ** 后台场景后 **

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

** Java class 中的资产报表 **

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

Can we fail a scenario/scenario-outline from afterScenario

不,你不能。这从未计划在空手道中实现,所以如果您对此非常感兴趣,请贡献代码。

你实际上从一开始就不需要 "soft assertions",因为 Scenario Outline(或 call loop 使用 JSON-s 的数组作为参数)-将执行 Examples 的所有行(或整个数组),即使有一个失败。