当前位置: 首页 > 知识库问答 >
问题:

无法使用testng运行cucumber特性中的第二个场景

华恩
2023-03-14

我已经用cucumber作为BDD创建了maven项目,并将其与testng集成。我在我的特性文件中添加了2个场景。我已经在我的testng.xml中配置了runner类,在我的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 
@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>

它成功地运行了第一个场景,对于第二个场景,它没有启动浏览器。请帮帮我。

共有1个答案

孙书
2023-03-14

使用在每个场景之前运行的@Before@After钩子来实现这一点,因为您有一个功能文件和多个场景。

 类似资料:
  • 我试图使用TestNG和SpringBootTest并行运行两个Cucumber测试,但当我的测试执行时,会发生以下情况 两个浏览器都打开并导航到维基百科主页 1个浏览器继续测试,另一个留在主页上 1个测试通过,另一个测试失败 我不知道为什么一个测试会停止执行,欢迎任何帮助。 回购:https://github.com/cmccarthyIrl/spring-cucumber-testng-par

  • 是否可以通过右键单击功能文件中的各个场景而不是使用命令文件或直接运行 TestNG 运行器文件来使用 TestNG 运行器运行cucumber场景? 我使用Intellij在maven测试框架中运行cucumber场景。在POM.xml文件中,我有一个引用testNG.xml文件的Surefire插件,该文件指向TestNG runner类。 当我从终端运行“mvn test”时,它会调用 Tes

  • jhbhhjhj当我点击登录并输入有效的“kumar.rakesh@yopmail.com”和有效的“admin@123”,然后点击登录,用户应该可以成功登录 测试转轮

  • 我有一个用TestNG运行的简单代码,但是我不能用Gradle运行,因为它说没有找到主方法,这并不奇怪,因为我使用注释。 但在这种情况下,如果必须使用Gradle,如何运行代码。 请注意,我对Gradle很陌生,对这方面的知识不多。 代码: 上面的代码与TestNG库完美运行。然而不是格拉德尔。 以下是我的Gradle构建设置: Gradle返回没有Main方法。 谢谢你的帮助。

  • 我正在使用JavaSelenium和TestNG。我可以使用TestNG并行执行测试。 但现在我已经将cucumber与TestNG集成,但我无法并行执行cucumber场景。我可以使用并行执行两个功能文件,但不能在一个功能文件中并行执行两种场景。 有人知道我们如何在一个功能文件中实现场景的并行执行吗? 请在下面找到我的测试xml文件 请在下面找到我的cucumber跑者课程 请在下面找到我的测试