【发布时间】:2018-04-12 08:04:10
【问题描述】:
我正在实施 Cucumber Testng 以用于学习目的。我已经意识到 @After 钩子方法执行了两次。我可以通过调试集和测试报告输出来确认它。我只运行 1 个功能文件,我的测试报告显示两个具有相同类名的条目。
有人知道为什么吗?
代码:
@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下载我的源代码。
【问题讨论】:
-
同时添加功能文件。此功能文件中有两种情况吗?
-
功能文件中只有一个场景,但有关于“Volare Collector Home Page opens in browser”的多个定义的警告。
-
您应该只有一个步骤的唯一定义。奇怪的是你也没有例外。
-
你确定你只定义了一个 \@After 钩子吗?每个 \@After 钩子都会被执行,所以如果你有两个,每个都会被执行。发布您的所有代码。
-
请从上面的链接下载源代码。
标签: testng cucumber-jvm