【发布时间】:2021-04-04 09:56:47
【问题描述】:
我已经做了一个准系统设置来在 Java 中运行 Cucumber 和 Selenium。
当我有一个功能文件FirstScenario.feature 及其相应的步骤定义FirstScenarioSteps.java 时,一切都符合预期。所以我添加了第二个组合,那时我注意到打开了第二个浏览器窗口,即使在第一个功能文件中只运行一个场景。所以,我删除了组合,一切都很好了。我发现只有第二个步骤定义文件(没有功能文件)足以打开第二个浏览器窗口。我很好奇,所以我添加了第三步定义文件,并打开了三个浏览器窗口。
为什么(在这种情况下)每个场景会打开三个浏览器窗口?最后打开的两个窗口保持空白(即不导航到网站)。
这是一个步骤定义文件。
public class ThirdFeatureSteps {
WebDriver driver;
// Tests or no tests, browser windows are still opened.
@Before
public void setup() {
System.setProperty(
"webdriver.chrome.driver",
System.getProperty("user.dir") + "\\webdriver\\chromedriver.exe"
);
driver = new ChromeDriver();
}
@After
public void teardown() {
driver.quit();
}
}
我知道@Before 和@After 是按场景执行的,这正是我想要的。
【问题讨论】: