我用黄瓜作为BDD创建了maven项目,并将其与testng集成。我在我的功能文件中添加了2个方案。我已经在我的testng.xml中配置了runner类,在我的跑步者类中,我正在使用@BeforeClass启动浏览器。测试成功运行第一个方案但不运行第二个方案。请指导如何继续这样做。
我在功能文件中的方案是:
Feature: Base PartyUserStories
Scenario: Verify login
Given the username and password
When login is clicked
Then you enter the login page
Scenario: Verify login and blah blah
Given the username and password
When login is clicked
Then you enter the login page
My Runner类是我调用浏览器的地方:
@CucumberOptions(features = { "src/test/resources" }, glue = { "com.cucumber.testng.party.tests" })
public class TestRunner extends AbstractTestNGCucumberTests {
public static WebDriver driver;
@BeforeTest
public void run() {
System.out.println("Runs always ");
}
@BeforeMethod(alwaysRun = true)
public void geturl() {
driver = new FirefoxDriver();
driver.get("https:test.aspx");
}
@AfterMethod(alwaysRun = true)
public void quiturl() {
driver.quit();
}
@AfterTest
public void stoprun() {
System.out.println("Runs after every test");
}
}
这是我的testng.xml:
<?xml version="1.0"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Party" parallel="none">
<test name="Base Party Validation">
<classes>
<class name="com.cucumber.testng.runner.TestRunner"/>
</classes>
</test>
</suite>
它成功运行第一个场景,第二个场景它不启动浏览器。请帮我解决一下这个 。
答案 0 :(得分:0)
使用在每个场景之前运行的@Before @After挂钩 要实现这一点,因为您有一个功能文件和多个场景。
答案 1 :(得分:0)
您可以尝试使用qaf bdd或qaf gherkin来完成框架下的驱动程序管理和配置管理。如果您不熟悉自动化,可以浏览qaf-step-by-step-tutorial