您好,我是Automation的新手,我正在尝试同时对'Login.java和HomePage.java'进行数据参数化。并将结果张贴在Excel工作表的相应列中。
登录测试用例:
@Test(dataProvider = "getTestData", priority=1 )
public void testCaseLoginPage(String id , String pass ) throws Throwable {
boolean status = false;
click("rj-qp-buynow");
Thread.sleep(500); ... So so
}
@AfterMethod
public void reportDataSetResult() {
{
isTestPass = false;
TestUtil.reportDataSetResult(suitexls, this.getClass().getSimpleName(), count + 2, "FAIl");
} else
TestUtil.reportDataSetResult(suitexls, this.getClass().getSimpleName(), count + 2, "PASS");
fail = false;
}
@DataProvider (name="getTestData")
public Object[][] getTestData() {
return TestUtil.getData(suitexls, this.getClass().getSimpleName());
}
主页测试用例:
@Test(dataProvider = "getData", priority=2)
public void testCaseHomePage(String AddDesign , String AddColor, String AddCity) throws Throwable {
-------------- so so
}
@DataProvider (name="getData")
public Object[][] getTestData() {
return TestUtil.getData(suiteixls, this.getClass().getSimpleName());
}
TestNg.xml
<test name="com">
<classes>
<class name="com.Login"/>
<class name="com.HomePage" />
</classes>
</test>
在这种当前结构下,“登录”页面将使用多个数据集进行测试。登录页面测试完成后,请尝试运行HomePage.java,它最终会出现大错误。
请让我知道运行这两个测试用例以及多组数据需要做哪些更改?
现在获得结果如下:
test1@Qe.com - test
test1@Qe.com - test
test1@Qe.com - OOOO
test1@Qe.com - test
test1@Qe.com - test
bluePage Blue Pune
WhitePage Black Mumbai
PinkPage Yellow Jaipur
想要以以下格式获取输出的地方:
test1@Qe.com - test
bluePage Blue Pune
test1@Qe.com - test
WhitePage Black Mumbai
test1@Qe.com - OOOO
PinkPage Yellow Jaipur
test1@Qe.com - test
Na NA NA
test1@Qe.com - test
NA NA NA
请建议
答案 0 :(得分:-1)
我可以建议您以不同的方式尝试
如果使用带有必需参数传递的页面对象模型,则登录类的创建方法可能在页面类中
在登录测试用例中使用相同的方法
首先在Home测试用例中调用相同的方法,然后再调用与Home相关的方法
使用登录所需的数据更新xlsx文件中的主页。在这里,您可以利用为各个测试数据行传递不同的登录详细信息的功能。