当前位置: 首页 > 知识库问答 >
问题:

在@test method中处理其中一行失败时数据提供程序的行为

瞿健
2023-03-14

我是TestNG框架的新手。我计划使用DataProvider从excel表中传递表单值列表。

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

当其中一行处理失败时会发生什么?失败后它会运行其余的行吗?失败时我必须重新启动selenium web驱动程序和登录方法吗?我不想每次失败都重新启动web驱动程序...

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

共有1个答案

宋昕
2023-03-14

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

答:是的,它将针对每一组数据运行。这取决于您如何从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);
}

verfyData1方法将运行两次,而不管任何数据集,也不管第一次是否失败。

问:当其中一行处理失败时会发生什么情况
Ans:该特定行的测试用例将失败,将通过从excel读取下一组数据继续执行。

Q、 失败后是否运行其余行<答案:理想情况下应该是这样,现在又取决于您是否有AfterMethod。

问:当硒网络驱动程序和登录方法失败时,我必须重新启动它吗?

回答:不是。如果您在BeforeMethod中初始化驱动程序,这会更好,因为BeforeMethod将在dataprovider生成的每组数据之前运行。

希望这会有帮助。

 类似资料:
  • 我对spark streaming有两个问题: < li >我有一个spark流应用程序正在运行,并以< code>20秒的批处理间隔收集数据,在< code>4000个批处理中,有< code>18个批处理因异常而失败: 无法计算拆分,块输入-0-1464774108087 未找到 我假设此时数据大小大于spark可用内存,并且应用程序< code>StorageLevel为< code>MEM

  • 我想在类中与数据提供者并行运行测试方法。我需要一个数据提供者,它每次在新测试方法开始为给定的测试运行生成部分动态数据之前都会被调用。让我用伪代码解释一下: 我怎样才能做到这一点?

  • 我有一个Micronaut应用程序,可以构建到GraalVM原生映像中。当我从正常的角度运行应用程序时(也就是说,不使用Graal),它运行得非常好。 但是,当我尝试从Graal运行时,在尝试将字符串反序列化到枚举中时,会出现以下运行时异常: 作为参考,我的反序列化程序如下所示: 我想我可能需要为Graal添加一些自定义反射配置,但我不太确定。有人能在这里透露一些信息吗?

  • 我正在尝试通过TestNG进行多线程测试为测试实例化WebDrivers<代码>@AfterMethod在测试后关闭WebDrivers

  • 我已使用以下方法在应用程序中输入凭据。 其中EnterText定义如下: 在测试类中,我写了下面的代码 我得到以下错误: 失败:loginProxy(“11”,“Priya”)java.lang.NumberFormatException:java.lang.Integer处为空。parseInt(未知源)位于java.lang.Integer。parseInt(未知源) 请帮助解决同样的问题。据

  • 我有一个TestNG测试方法,使用数据提供程序使用多个参数运行: 有时我想并行运行检查测试,有时则不想。我可以通过将代码注释设置为DataProvider(parallel=true)或DataProvider(parallel=false)来控制这一点,但我希望将其作为运行时参数,而不是代码中的设置。 如何设置数据提供程序是否在TestNG套件XML文件中作为命令行参数或属性派生多个线程?