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

如何从数据提供程序循环中生成@test注释?

柴良哲
2023-03-14

我有一个名为“name”的数据提供程序,我通过了测试<代码>@数据提供者(name=“TC\u 001”)

测试(dataProvider=“TC\u 001”)

在此之前,我想运行另一个只需运行一次的测试。我给了优先级,如测试(优先级=0)

@DataProvider(name="TC_001")

测试(dataProvider=“TC\u 001”,priority=1)但控件仍会转到第二优先级,而不是第一优先级

对此有什么解决办法吗?

我设置了优先级1和2@Test(priority=1)@DataProvider(name=“TC\u 001”)@Test(DataProvider=“TC\u 001”,priority=2),但控件仍转到第二优先级,而不是第一优先级。

共有1个答案

宇文修文
2023-03-14

将值设置为“priority=0”(优先级)与根本不设置任何优先级一样好。只有当优先级为非负数和正数时,TestNG才会尊重优先级。

要解决您的问题,您有两个选择。

  1. 从优先级为1开始,让您的数据驱动测试方法使用优先级为2(或)的测试方法
  2. 让您的数据驱动测试方法使用属性依赖于其他测试方法
 类似资料:
  • 有人知道TestNG如何根据为测试方法指定的数据提供者名称计算出数据提供者方法是什么吗? 我找到了这个解决方案:https://gist.github.com/ae6rt/3805639 但是,它没有考虑到数据提供者可能是: 在完全不同的类别中定义,或 在父类中定义,并且 该方法可以是静态的,也可以是非静态的 我试图自己破解一些东西,但后来我想我不可能是第一个试图解决这个问题的人,特别是因为显然T

  • Entity Framework Core 通过一个提供程序模型来允许使用 EF 访问各种不同的数据库。一些概念对于大部分数据库是通用的,这些都包含在主要的 EF Core 组件中,包括 LINQ 的查询表达、事务以及从数据中加载出来后对象的变更跟踪。一些概念则是特定于个别提供程序,比如 SQL Server 提供程序允许你配置内存优化表(一个特定于 SQL Server 的功能),另外一些概念则

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

  • 问题内容: 例如,我有10个从AJAX响应生成的标签: 我需要通过循环将onclick事件分配给每个事件: 这是行不通的,它仅将onclick分配给最后一个标签,并警告“ 11”。我该如何工作?我宁愿不使用jQuery。 问题答案: 您所有的处理程序都共享相同的变量。 您需要将每个处理程序放入一个单独的函数作为参数,以便每个处理程序都有自己的变量:

  • 如果我创建一个提供者并将其绑定到一个类,就像这样 然后

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