我想在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>