问题标签 [testng-dataprovider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
selenium - 如何使 1 个特定数据的测试用例失败并继续在 TestNG 中执行相同的脚本
我有一个要为“n”个数据运行的测试脚本,我正在这样做@DataProvider
,现在我的问题是当我使用"Assert"
失败的测试用例时测试失败 1 个特定数据,然后执行整个测试脚本停止。我希望它即使在 1 个数据失败时也能继续执行。我该怎么做 ?有人可以帮忙吗?谢谢 !!
multithreading - TestNG 中的 @BeforeClass 不与 parallel = 实例并行执行
我有一个 testng 工厂创建具有单个 @Test 方法的测试实例。在 testng.xml 中指定“parallel=instances”和 thread-count =“10”,我希望 @BeforeClass 并行执行。而我看到其他线程的@BeforeClass 在执行时被阻塞,直到当前的@BeforeClass 执行完成。即按顺序打印“In Before Class”,延迟 2 秒。
我在这里想念什么?
这是我的测试代码 -
java - DataProvider TestNG 在一台机器上运行,但不在另一台机器上运行
我正在尝试使用 DataProvider (TestNG - Selenium Java) 对两个不同的凭据用户执行相同的测试步骤。我是一个用户,我们称另一个用户为“Bob”。
Bob 能够在他的机器上运行完全相同的代码,但我无法在我的机器上运行完全相同的代码。
我们有相同的 Selenium-Java (2.44.0) 和 TestNG (6.8.13) 版本。
这是代码。因为相同的代码会被两个不同的执行User Type
,我们需要使用dataProvider
来运行代码。
测试日志结果不同:
鲍勃的机器:
话题一:打开火狐浏览器话题一:进入类:profileTest 话题一:进入方法:profileTest
我的机器:
线程#1:打开Firefox浏览器线程#1:进入类:profileTest 线程#1:准备存在类:profileTest 线程#1:退出类:profileTest java.lang.ExceptionInInitializerError
引起:com.webtest.exception.TestException:用户名是强制性的
为什么代码在 Bob 的机器上运行,而不是我的?
我还需要检查什么以确保 Bob 和我真的拥有相同的系统?
java - 一起使用 Data Provider 和 TextNG XML
我不知道如何TestNG XML
与 Excel 表中的数据提供者集成。
我已经确认我的代码数据提供程序语法是正确的,因为当我从测试级别运行它时,我的测试成功运行(见下文)
但是,当我尝试使用TestNG XML
配置实现数据提供程序时(我试图在多个浏览器上运行用户名和密码),我得到一个 Java IOException 并且(因为这些可能非常模糊)我不知道如何继续。
请参阅下面包含的屏幕截图,其中包含在 before 方法中实现参数的相同测试设置以及TestNG XML
.
谢谢你的帮助!
testing - 如何在@DataProvider 方法中检索@Test 方法参数?
我想在 DataProvider 方法中检索 Test 方法的参数名称。通过method.getParameterTypes()
在 DataProvider 中使用,我可以获得在 Test 方法中传递的参数类,但我想要名称。
这是必需的,因为使用这些名称我可以从我的 Excel 文件中获取数据
java - 在 testng 中使用不同的数据提供者运行相同的测试
例如:
- 数据提供者 1:dataA
- 数据提供者2:dataB、dataC
- 数据提供者 3:dataD、dataE、dataG
所以我的测试需要一个数据提供者。但我希望它根据测试组为不同的测试类型选择不同的数据提供者。例如,如果我正在运行组“smoke”,那么我想使用数据提供者 1,如果我正在运行组“sanity”,那么我想运行数据提供者 1 和数据提供者 2,如果我正在运行组“回归”那么我希望它运行数据提供者 1、2 和 3。
这可能吗?如果是这样,请您提供信息或指向我的文档或可以提供帮助的东西。
目前我的工作是为每个组进行 3 次不同的测试,然后我可以选择要使用的数据提供者。我也可以结合数据提供者。
我解决的问题是所有 3 个测试都完全相同,不同的是组和数据提供者。
谢谢!
testng - 使用 @factory 运行依赖 testng 方法
设想:-
我的测试数据是 1) 字符串 A 2) 字符串 B 3) 字符串 C
现在我有一个类,其中我有数据提供者和工厂,并且数据提供者有 3 个值作为字符串
我想要的输出
A
HelloA
BYEA
YESA
B
HelloB
BYEB
YESB
C
HelloC
BYEC
YESC
selenium - TestNG 工厂按顺序运行测试类
我有一个 TestNG @Factory 类,一个创建驱动程序的基类和两个包含多个 @Test 方法来运行测试的测试类。给定我下面的@Factory 课程。
IndTest
IndTest2
是两个测试类。它们扩展基类并调用基类构造函数来创建驱动程序。对于特定的 deviceID,在特定时间只能使用驱动程序的一个实例。
我面临的问题是 IndTest 和 IndTest2 都在同时运行,测试尝试同时在特定设备上运行不同的测试。我要求首先调用 IndTest 类并在设备 1 和设备 2 上运行该类内的测试,然后移动到 IndTest2 并执行相同类型的执行。下面是我目前使用的 TestNG xml。
等待你的想法:)
selenium-webdriver - 在 selenium 中执行 Testng 时出现此错误
数据提供者public java.lang.Object[] as.get()
必须返回Object[][]
or Iterator<Object>[]
,而不是类java.lang.Object;
java - 我在 testng 方法中有一个 testng 类,通过反射调用另一个方法它无法登录 testng 报告
代码示例:
Test1 类将是一个父类,负责执行 Test2 类方法
导入 java.lang.reflect.InvocationTargetException;导入java.lang.reflect.Method;
导入 org.testng.annotations.Test;
公共类Test1 {
}
Test2.class 代码:
导入 org.testng.Assert;
公共类Test2 {
这里根据这个例子,断言应该失败,但 testng 报告状态为通过 那么我如何将断言失败链接到 testng 报告