gpt4 book ai didi

testng - Cucumber-JVM:Cucumber 的 @After 钩子(Hook)被执行了两次

转载 作者:行者123 更新时间:2023-12-04 15:29:58 25 4
gpt4 key购买 nike

我正在实现 Cucumber Testng 以用于学习目的。我已经意识到 @After 钩子(Hook)方法执行了两次。我可以通过调试集和测试报告输出来确认它。我只运行 1 个功能文件,我的测试报告显示两个具有相同类名的条目。

有谁知道为什么?

enter image description here

代码:

@After
public void tearDown(Scenario scen) throws IOException {
ExtentTest logger = reportMgr.getLogger();
String feature = getClass().getName() + " Feature"; //+ "." + Thread.currentThread().getStackTrace()[1].getMethodName().toString();

logger = reportMgr.getExtent().createTest(feature);

String screenShot = CaptureScreenshot.captureScreen(WebDriverManager.driver, CaptureScreenshot.generateFileName(feature));
if (!scen.isFailed()) {
logger.pass("Pass");
logger.addScreenCaptureFromPath(screenShot);
} else {
logger.fail("Fail");
logger.addScreenCaptureFromPath(screenShot);
}
}

功能文件:
@Login_Valid Feature: Login to Volare Collector Description:  As a user, I want login to Volare Collector 

Scenario: Valid Login
Given Volare Collector Home Page opens in browser
When I login to Volare Collector with Username and Password
Then Page navigate to Volare Collector Home Page

在名为 Multiple Definitions “Volare Collector Home Page opens in browser”的功能文件中有警告。

请从这里下载我的源代码 link .

最佳答案

testng.xml调用TestRunner类(class)。在 cucumberoptions没有 tags option ,因此没有基于标签的过滤。因此它将拿起所有功能文件features 中给出的文件夹中选项 - "src/Features" IE。 Login.feature 和 Logout.feature。

每个功能文件都有 每个场景一个 .因此有共2个场景因此将运行 2 个测试。这解释了为什么您会看到 报告中的 2 个测试 .

当每个场景运行时,它们将运行任何当前的 Before and After hooks .所以对于 2个场景,钩子(Hook)会运行两次 .

钩子(Hook)还有 全局 本质上,即只要它们出现在glue(glue = {"Step_Definitions"}) 中定义的选项中的任何类中他们会被接走。在您的情况下,您有 两个前 Hook 在 Login 和 Logout 类中,你可能想看看修复它。使用 Before 钩子(Hook)并在 value 选项中将标签过滤器传递给它。

单后钩Login 中定义对这段代码进行分类

String feature = getClass().getName();          
logger = reportMgr.getExtent().createTest(feature);

这意味着 测试的名称将始终是完整的类名 IE。 Step_Definitions.Login .因此它显示为 2 个名称相同但名称不同的测试 .

关于testng - Cucumber-JVM:Cucumber 的 @After 钩子(Hook)被执行了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49791109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com