Selenium 如何执行相同的cucumber功能或场景n次?

Selenium 如何执行相同的cucumber功能或场景n次?,selenium,selenium-webdriver,cucumber,testng,bdd,Selenium,Selenium Webdriver,Cucumber,Testng,Bdd,我需要执行一个场景,这是一个功能的一部分,执行100次。没有场景大纲,因为没有数据参数化。我只需要在这个特定场景中执行gorilla测试,以确保每次都能顺利通过。我的一些团队成员多次观察到故障,因此需要验证稳定性 跑步者等级代码: public class Baserunner extends AbstractTestNGCucumberTests{ private TestNGCucumberRunner testNGCucumberRunner; @BeforeClass(alwaysRu

我需要执行一个场景,这是一个功能的一部分,执行100次。没有场景大纲,因为没有数据参数化。我只需要在这个特定场景中执行gorilla测试,以确保每次都能顺利通过。我的一些团队成员多次观察到故障,因此需要验证稳定性

跑步者等级代码:

public class Baserunner extends AbstractTestNGCucumberTests{
private TestNGCucumberRunner testNGCucumberRunner;

@BeforeClass(alwaysRun = true)
public void setUpClass() throws Exception {
    System.out.println("Test");
    String browsername = "IExplorer";
    testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
    BaseConfig.ConfigFileReader();
    BaseConfig.launchbrowser(browsername);
   // BaseConfig.executeScript();

}

@Test(groups = "cucumber", description = "Runs Cucumber Feature", dataProvider = "features")
public void feature(CucumberFeatureWrapper cucumberFeature) {
    testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
}

@DataProvider
public Object[][] features() {
    return testNGCucumberRunner.provideFeatures();
}

@AfterClass(alwaysRun = true)
public void tearDownClass() throws Exception {
    testNGCucumberRunner.finish();
    BaseConfig.closeBrowser();
}

您可以在runner类中使用循环逻辑尝试下面的hack

@Override
    @Test(groups = "cucumber", description = "Runs Cucumber Feature", dataProvider = "features")
        public void feature(CucumberFeatureWrapper cucumberFeature) {
            for(int i=0;i<100;i++)
                testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
        }

您使用的cucumber版本是什么?

我认为您需要在cucumber中参数化它的场景。这会多次执行每个场景的步骤

Scenario Outline: My program's test 
 Given Im in the section HOME 
 When I click on button Accept <action>
 Example: 
  | action  |
  |   1     | 
  |   n     |
  |   n     | 
  |  100    |
后步定义

@When("^I click on button Accept \"([^\"]*)\"$")
public void I_click_on_button_Accept(int n) throws Throwable {
  for(int i=0; i <= n; i++) {
     methodCall();
  }
}
@当(“^I单击按钮接受”([^\“]*)\“$”时)
公共无效点击按钮接受(int n)抛出可丢弃{

对于(int i=0;我很可能连续执行100次测试不会复制失败。我发现,在某些其他测试之前或之后执行片状测试的组合会导致失败。老实说,我只会将其作为一个场景大纲,并将一个基本上不起作用的步骤参数化。这正是我所做的寻找。一件事-我们需要注释掉标记行,因为我们不能同时使用行号和标记。
Scenario: My program's test 
 Given Im in the section HOME 
 When I click on button Accept 100
@When("^I click on button Accept \"([^\"]*)\"$")
public void I_click_on_button_Accept(int n) throws Throwable {
  for(int i=0; i <= n; i++) {
     methodCall();
  }
}