无法使用数据提供程序在2个不同的浏览器上运行测试套件

时间:2017-04-04 16:17:57

标签: maven selenium testng

我想在2个不同的浏览器上运行我的selenium测试套件,其中包含2个测试(test1和test2)。

我想按顺序运行2个测试,所以我使用dependsOnMethods来指定顺序

我创建了一个包含浏览器作为参数的数据提供程序(我使用2个浏览器名称作为字符串)但我无法将其传递给@BeforeSuite

当我将数据提供程序传递给test1时,test1运行了2次,然后test2运行了1次。

这不是我需要的,我需要在每个浏览器上按顺序运行test1和test2。

有什么建议我能做到这一点吗?

提前致谢

@Test( groups = { "login-positive"},dataProvider="browserList")
public void loginTest(String browser)throws MalformedURLException{

PageUtils.initializeBrowser(browser);
loginPage=     PageUtils.getHomePage().goToLoginPage(PageUtils.getWebDriver());
String username="raghda";
String password="I123123";
loginPage.fillUserName(username);
loginPage.fillPassword(password);
loggedInPage=loginPage.clickSubmit();
 Assert.assertEquals("raghda", loggedInPage.getDisplayedUserName());
}

@Test( groups = { "login-       positive"},dataProvider="browserList",dependsOnMethods= {"loginTest"})
public void ValidateGeneralDonation(String browser)throws    MalformedURLException{


generalDonPage=loggedInPage.clickGeneralDonation();
generalDonPage.selectCharity(1);
generalDonPage.checkDonationItem(0);
assertTrue(generalDonPage.getDonateButton());

}

的pom.xml

 <profile>
 <id>RegressionTest</id>
 <build>
 <plugins>
 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
         <version>2.19.1</version>
         <configuration>
                <!-- Suite testng xml file to consider for test   execution -->
                <suiteXmlFiles>
                    <suiteXmlFile>testngregression.xml</suiteXmlFile>
                </suiteXmlFiles>
                <properties>
                    <property>
                        <name>parallel</name>
                         <value>methods</value>
                     </property>
                    <property>
                         <name>threadCount</name>
                        <value>1</value>
                    </property>
                </properties>
            </configuration>
    </plugin>
    </plugins>
    </build>
     </profile>
    </profiles>

testngregression.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1">
<test name="regression">
<parameter name="loggedIn" value="false"></parameter>
<groups>
  <define name="login-all">
    <include name="login-positive" />
    <include name="login-negative" />
  </define>
  <define name="login-positive-only">
    <include name="login-positive" />
  </define>
  <run>
    <include name="login-positive-only" />
  </run>
</groups>
<classes>
  <class name="basicportal.automation.TestDriver" />
</classes>
</test>
</suite>

0 个答案:

没有答案