首页 文章

无法使用testng在黄瓜功能中运行第二个场景

提问于
浏览
0

我用黄瓜作为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>

它成功运行第一个场景,第二个场景它不启动浏览器 . 请帮我解决一下这个 .

2 回答

  • 0

    使用在每个方案之前运行的@Before @After挂钩来实现此目的,因为您有一个功能文件和多个方案 .

  • 0

    您可以尝试使用qaf bddqaf gherkin,其中由框架完成驱动程序管理和配置管理 . 如果您不熟悉自动化,您可以浏览qaf-step-by-step-tutorial

相关问题