java - 在@test 方法中处理其中一行失败时数据提供者的行为

标签 java selenium testng

我是 TestNG 框架的新手。我打算使用 DataProvider 传递 Excel 工作表中的表单值列表。

假设从 Excel 工作表的列表中添加产品。当我使用数据提供程序时,@test 方法将针对 Excel 工作表中的每一行运行?

当其中一行处理失败时会发生什么?失败后它是否运行其余行? selenium webdriver 和 login 方法失败时是否必须重新启动?我不想为每次失败重新启动 webdriver..

即使浏览器关闭,我当前的应用程序也会保留 session 。

最佳答案

问题:当我使用数据提供程序时,@test 方法将针对 Excel 工作表中的每一行运行?

Ans :是的,它会针对每组数据运行。这取决于您如何从 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 方法将运行两次 次,与任何一组数据无关,也与第一个是否失败无关。

问:当其中一行处理失败时会发生什么?
答案:测试用例对于该特定行将失败,并且将通过从 excel 读取下一组数据来继续执行。

问。这次失败后它会运行其余的行吗?
回答:理想情况下应该如此,现在又取决于您是否使用了@AfterMethod

问。 selenium webdriver 和登录方法失败时是否必须重新启动?

Ans : 不。最好在 @BeforeMethod 中初始化驱动程序,因为 before 方法将在数据提供者生成的每组数据之前运行。

希望这会有所帮助。

关于java - 在@test 方法中处理其中一行失败时数据提供者的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605636/

相关文章:

maven - 测试卡在 Configuring TestNG with : TestNG652Configurator

java - 跨多个 jsp 页面共享一个小程序

java - 将按钮链接到 Java 中的另一个方法

javascript - 如何使用 Selenium 和 Python 将文本插入到 div 节点中

java - 如何在 Cucumber 测试套件中订购功能文件?

java - Assertion失败后如何继续执行

java - 我的 pom 中没有 surefire 插件 - 它如何显示 surefire 输出?

java - 如何使用 Elasticsearch async api 控制响应

java - 以编程方式删除java缓存

java - Selenium Webdriver -dragAndDrop 在 Firefox 32 中不起作用