问题标签 [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.
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调用此方法。
希望得到您的建议。
java - 如何使用参数从我的测试方法调用 Dataprovider
我的问题:我想要一些逻辑,所以在执行@Test 时,我应该动态传递数据文件路径、SheetName、TableName,因此可以使用相同的数据提供程序,这将为我提供不同的数据集来处理。
注意:数据提供者将以哈希表的形式返回在 excel 中以表格格式指定的数据,并带有表名。因此,如果将工作表路径、工作表名称和表名传递给数据提供者,那么我的 DP 将读取该表并以哈希表的形式返回整个数据表。
testng - dataprovider 可以将数据传递给@BeforeTest
我想知道dataprovider是否可以将数据与@Test一起传递给@BeforeTest。我正在编写脚本,我想将一些数据传递给@BeforeTest 并执行一些操作。如果可能的话,请分享逻辑。谢谢
testng - 如何使@Test 只运行一次
我正在从事数据驱动测试,目前我被困在@Test 上。我想将数据传递给两个不同的数据提供者,并且只想运行一次 @test 之一。我怎样才能做到这一点。下面是描述我的情况的相同代码
在这里我想先运行@Test 只运行一次。有什么方法可以实现吗?
java - 我正在尝试使用@DataProvider 以不同的参数运行@test,但出现异常
我想将参数传递给@test 以使用不同的数据多次运行。所以我正在使用@DataProvider,它正在重新调整二维对象数组。我有一维字符串,所以首先我将它转换为二维数组,然后为对象赋值。. 但得到以下例外。
请帮助我如何将参数顺序传递给我的@test 方法?
java - 从@Test注解TestNG中获取字符串
我正在尝试从 TestNG 注释中获取一个字符串@Test(groups="Foo")
,然后将其用作我动态生成的文件夹的名称。
如何"Foo"
从 TestNG 注释中获取文本以便我可以使用它?
java - 在 TestNG 中重复整个测试类,使用不同的参数
我有这段代码用于使用 selenium webdriver 测试网站。有四种@Test
方法,一个@DataProvider
具有三个值。因此,总共运行了 12 个测试。
目前,这些测试正在 Chrome 下运行。但我还想在 Firefox 和 Internet Explorer 上重复所有这些测试,以及所有数据提供程序的变体。我怎样才能让整个类的测试为这些其他 webdrivers 重复?这几乎就像我需要@DataProvider
整个班级的(对于之前的方法)。
testng - 当我们使用 TestNG 数据提供者而不是工厂时,ITest 是否有效
我正在尝试使用 ITest 接口为来自数据提供者的测试获取自定义名称(用于 Jenkins 报告)。我尝试了一个类似下面的示例程序,以了解 TestNG 在什么时候调用 gettestname() 方法。
粘贴输出和程序。
正如您在下面看到的,输出令人困惑,并且在某些地方测试名称也为“空”。所以我的问题是 Itest 是否设计为与数据提供者一起使用?此外,当我们使用 parallel=true 运行以下数据提供程序时,它会变得更加混乱,因为成员 'testName' 是跨线程共享的,并且只有一个类实例正在运行。
我可以看到 ITest 如何与 @factory 一起使用,因为当我们使用工厂时,每个测试方法运行都会调用一个新的 TestClass,所以那里不会有问题。
输出:
输出[当并行=真]
代码:
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 注释包括。
java - TestNG:为所有方法初始化一次数据提供者
目前我有一个测试类,它有多个方法都使用同一个数据提供者。每次 testng 循环不同的方法时,它都会重新计算数据提供者方法。有什么办法可以让数据提供者运行一次?
谢谢!
杰森