问题标签 [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 投票
2 回答
1247 浏览

java - Selenium TestNG 从 Excel 表中传递参数

我正在创建一个功能测试,selenium 将充当用户在网站上注册帐户,但是,网站注册有 16 个输入字段要填写。一些 Int 值和一些 String。有没有更简单的方法来做到这一点?

我在那里只传递了 3 个值,但完成完整的 reg 测试后,将有 16 个字符串或 Int 参数。这将是一个巨大的列表,还有其他方法吗?

0 投票
1 回答
1734 浏览

java - 在Testng中使用数据提供者和并行,如何在给定测试的同一线程中运行方法之前,方法之后和测试。?

我正在通过 testNG xml 运行我的测试套件。这是xml:

我正在使用带有注释parallel = true的数据提供者。我有 2000 个测试用例,它们通过一个具有不同数据的测试用例循环运行。测试在不并行时运行良好。当我尝试在 4 个线程中并行运行测试时,before 和 after 方法在同一个线程中执行,但是我的测试方法分配了完全不同的线程。我如何确保对于测试用例,方法之前,方法之后和测试都在测试实例的同一线程中运行。

0 投票
1 回答
1149 浏览

java - 多线程 TestNG DataProvider 执行

我正在尝试通过 TestNG 进行多线程测试。 @BeforeMethod为测试实例化 WebDrivers。 @AfterMethod测试后关闭 WebDrivers。@Dataprovider为测试提供循环运行多次的数据。

我的问题是,即使 TestNG 一次打开 10 个浏览器,任务也只能由一个浏览器执行,而其他 9 个浏览器什么也不做。

如何将 beforeMethod 中声明的 Webdriver 实例分发给所有线程?

0 投票
1 回答
480 浏览

java - 使用 TestNG 进行并行测试 - 测试仅在一个浏览器上运行

我使用 DataProvider DataFactory 创建了一个测试套件,并且我的 TestNG 文件将浏览器详细信息作为参数发送。在 testNG XML 中,我调用了我的数据工厂类。我也在使用browsestack进行测试(尽管我怀疑这与我遇到的问题有关)

当我不将 parrellel="true" 添加到 testng 文件时,测试运行没有任何问题。

我觉得这与每个浏览器使用相同的驱动程序有关,但我目前无法解决这个问题。

任何指导表示赞赏。

这是代码。

测试NG.XML

数据工厂类

套件 - 驱动程序初始化

样品测试

0 投票
3 回答
2369 浏览

multithreading - TestNG 在并行测试执行后关闭浏览器

我想在完成所有测试后关闭浏览器。问题是我无法关闭浏览器,因为创建的对象 ThreadLocal 驱动程序在完成测试值返回为空后无法识别驱动程序。

下面是我的工作代码

提前致谢。

0 投票
1 回答
731 浏览

java - TestNG 无法从线程测试失败

我正在使用带有 Java 的 TestNG。

我有一个数据提供者方法

和测试方法

现在在里面run()我想决定测试是失败还是通过。Assert.fail();我试图通过使用内部运行方法来做到这一点。它可以正常执行顺序执行,但会出现异常

在并行执行中。

我知道这个问题是因为断言错误应该被测试方法捕获。因此,在顺序执行的情况下,它运行良好并且测试失败,但在并行执行的情况下,测试方法在我们调用 Assert.fail() 时已经执行。

谁能告诉我如何使 run() 方法的测试失败?

0 投票
1 回答
1994 浏览

java - 如何使用带有 TestNG dataProvider 的 Apache POI 编写 excel

我正在使用混合框架,在这些框架中,我使用数据提供者的 Apache-poi 库来编写 Excel 表。

我希望我的代码以这种方式使用它,我可以读取和写入我的 Excel 表,其中已经编写了测试用例,并根据这些情况设置它们的状态。

目前,当我执行我的代码时,它跳过了登录方法。实际上我是它的初学者并尝试使用它来读写excel,有人可以帮我解决这个问题吗?

安慰:

注意:我已经阅读了 Apache poi 的教程,通常我了解如何编写,但在框架中我被卡住了。请在这些方面提供帮助。

0 投票
1 回答
3595 浏览

testng-dataprovider - 我们可以在同一个括号中包含 testng @priority 和 @dataprovider 吗?

我有一个具有注释的方法,@Test并在优先级之后设置了它priority=1的 data-Provider 注释,但是当我运行我的类时,它会跳过具有的方法priority=1并执行具有的另一个方法priority=2

我想我做得不对。请帮忙。

0 投票
3 回答
98 浏览

java - TestNG 测试可以作为数据提供者吗?

我的项目中有一对测试,我想以不同的方法顺序运行。通常我会使用 DataProvider 来生成测试的输入:

但是在这里我需要这两种方法来像测试一样,因为我有测试逻辑,它不属于数据提供者。

所以我想要这样的东西:

事实上,我可以把 test1 的逻辑放到 test2 来实现我想要的,但我想知道是否有更智能的方法来做到这一点。

0 投票
3 回答
767 浏览

selenium - selenium testNG 使用不正确的结果帐户重试

我正在使用安装在 Eclipse 中的 testNG 6.9.10。我试图使用重试来确保失败的测试可以运行定义的 maxcount 次。请参见下面的代码。

我得到以下结果:

但似乎结果有一些问题。我想在下面:

我试图定义监听器来实现它,比如覆盖 onFinish 函数。您可以在http://www.seleniumeasy.com/testng-tutorials/retry-listener-failed-tests-count-update中找到它 但最终不起作用。

遇到过这种情况的人可以提供帮助吗?