我对TestNG框架很陌生。我计划使用DataProvider从excel表中传递表单值的列表。
假设从excel表中的列表中添加产品。当我使用数据提供程序时,@test方法将运行excel工作表中的每一行?
当其中一行处理失败时会发生什么情况?在此失败之后,它是否运行其余的行?当selenium和登录方法失败时,我是否必须重新启动它?我不想在每次失败时重新启动want驱动程序。
即使浏览器关闭,我的当前应用程序也将保留会话。
发布于 2018-07-31 05:16:51
问题:当我使用数据提供程序时,@test方法将针对excel工作表中的每一行运行?
和:是的,它将针对每一组数据运行。这取决于您如何从excel文件中读取数据。
以这为例:
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Cedric", new Integer(36) },
{ "Anne", new Integer(37)},
};
@Test(dataProvider = "test1")
public void verifyData1(String n1, Integer n2) {
System.out.println(n1 + " " + n2);
}verifyData1方法将运行两次,而不考虑任何数据集,也不管第一个数据是否失败。
Q :,当一行处理失败时会发生什么?
Ans :对于该特定行,测试用例将失败,并且将通过从excel读取下一组数据来继续执行。
Q.是否在此失败之后运行其余的行?
Ans :理想情况下,它应该是应该的,现在又一次取决于您是否带了@AfterMethod。
Q.,当它失败时,我必须重新启动selenium和登录方法吗?
Ans : No.最好是在@BeforeMethod中初始化驱动程序,因为are方法将在数据提供程序生成的每一组数据之前运行。
希望这能帮上忙。
https://stackoverflow.com/questions/51605636
复制相似问题