问题标签 [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.

0 投票
1 回答
2422 浏览

java - java TestNG在@DataProvider中使用@Parameters调用方法

我正在尝试使用@DataProvider获取数据,它返回Object[][],我通过调用另一个方法在其中粘贴值。反过来,此方法使用@Parameters从 XML 中获取值。

问题是我得到了NullPointerException,因为在@DataProvider中通过传递值调用@Parameters所需的方法null,希望@Parameters将此值更改为XML 中的适当值。同时,我不能通过不传递任何参数来调用方法。

代码:

班级TestSuite

班级Config

班级DataProviders

班级ParametrizedFunctions

在这里,@Parameters({"extensionsArray"})不提供 XML 文件中的值。它只需要null,作为调用方法的参数传递generateRandomFileNameWithExtension()。而且,与此同时,如果不将任何参数传递给被调用的方法,我就无法从@DataProvider调用此方法。

希望得到您的建议。

0 投票
3 回答
2402 浏览

java - 如何使用参数从我的测试方法调用 Dataprovider

我的问题:我想要一些逻辑,所以在执行@Test 时,我应该动态传递数据文件路径、SheetName、TableName,因此可以使用相同的数据提供程序,这将为我提供不同的数据集来处理。

注意:数据提供者将以哈希表的形式返回在 excel 中以表格格式指定的数据,并带有表名。因此,如果将工作表路径、工作表名称和表名传递给数据提供者,那么我的 DP 将读取该表并以哈希表的形式返回整个数据表。

0 投票
2 回答
4431 浏览

testng - dataprovider 可以将数据传递给@BeforeTest

我想知道dataprovider是否可以将数据与@Test一起传递给@BeforeTest。我正在编写脚本,我想将一些数据传递给@BeforeTest 并执行一些操作。如果可能的话,请分享逻辑。谢谢

0 投票
1 回答
285 浏览

testng - 如何使@Test 只运行一次

我正在从事数据驱动测试,目前我被困在@Test 上。我想将数据传递给两个不同的数据提供者,并且只想运行一次 @test 之一。我怎样才能做到这一点。下面是描述我的情况的相同代码

在这里我想先运行@Test 只运行一次。有什么方法可以实现吗?

0 投票
2 回答
1293 浏览

java - 我正在尝试使用@DataProvider 以不同的参数运行@test,但出现异常

我想将参数传递给@test 以使用不同的数据多次运行。所以我正在使用@DataProvider,它正在重新调整二维对象数组。我有一维字符串,所以首先我将它转换为二维数组,然后为对象赋值。. 但得到以下例外。

请帮助我如何将参数顺序传递给我的@test 方法?

0 投票
3 回答
1315 浏览

java - 从@Test注解TestNG中获取字符串

我正在尝试从 TestNG 注释中获取一个字符串@Test(groups="Foo"),然后将其用作我动态生成的文件夹的名称。

如何"Foo"从 TestNG 注释中获取文本以便我可以使用它?

0 投票
2 回答
7469 浏览

java - 在 TestNG 中重复整个测试类,使用不同的参数

我有这段代码用于使用 selenium webdriver 测试网站。有四种@Test方法,一个@DataProvider具有三个值。因此,总共运行了 12 个测试。

目前,这些测试正在 Chrome 下运行。但我还想在 Firefox 和 Internet Explorer 上重复所有这些测试,以及所有数据提供程序的变体。我怎样才能让整个类的测试为这些其他 webdrivers 重复?这几乎就像我需要@DataProvider整个班级的(对于之前的方法)。

0 投票
1 回答
748 浏览

testng - 当我们使用 TestNG 数据提供者而不是工厂时,ITest 是否有效

我正在尝试使用 ITest 接口为来自数据提供者的测试获取自定义名称(用于 Jenkins 报告)。我尝试了一个类似下面的示例程序,以了解 TestNG 在什么时候调用 gettestname() 方法。

粘贴输出和程序。

正如您在下面看到的,输出令人困惑,并且在某些地方测试名称也为“空”。所以我的问题是 Itest 是否设计为与数据提供者一起使用?此外,当我们使用 parallel=true 运行以下数据提供程序时,它会变得更加混乱,因为成员 'testName' 是跨线程共享的,并且只有一个类实例正在运行。

我可以看到 ITest 如何与 @factory 一起使用,因为当我们使用工厂时,每个测试方法运行都会调用一个新的 TestClass,所以那里不会有问题。

输出:

输出[当并行=真]

代码:

0 投票
3 回答
4909 浏览

selenium - 未使用 @Test 注释或未包含在内

我在同一个包下创建了两个类,一个叫做准备,另一个是 X,当我dependsOnMethods用来指向测试用例时,Preparation我得到一个异常。

这是错误:

com.selenium.scripts.passkey.regression.delegateprofile.DProfile.TC_01() 取决于方法 public void com.selenium.scripts.passkey.regression.delegateprofile.Preparations.TC_02(),它没有用@Test 注释包括。

请看附图...

0 投票
1 回答
577 浏览

java - TestNG:为所有方法初始化一次数据提供者

目前我有一个测试类,它有多个方法都使用同一个数据提供者。每次 testng 循环不同的方法时,它都会重新计算数据提供者方法。有什么办法可以让数据提供者运行一次?

谢谢!

杰森