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

在Testng中使用数据提供程序和并行程序,如何在给定测试的同一线程中运行before方法、after方法和测试。?

程英资
2023-03-14

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" data-provider-thread-count="4" parallel="methods">
  <test name="Test" group-by-instances="true" parallel="instances">
    <classes>
      <class name="packageName"></class>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->

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

共有1个答案

公西志文
2023-03-14

你试过单线程吗?如以下示例所示

@Test(singleThreaded = true)

 public class DemoForMethodOrdering {

  ///implementation here
}

请在testng文档中查找有关单线程的信息

谢谢你Murali

 类似资料:
  • suite name=“knowledgetest”verbose=“5”configfailurepolicy=“continue”data-provider-thread-count=“10”parallel=“methods”thread-count=“5”

  • 我想在TestNg中并行运行硒测试,使用“数据提供者”。理想情况下,测试是按方法并行的(一个测试=一个方法),而不是简单的浏览器套件并行。我在某个地方读到过,一次可以控制大约5个ChromeDriver实例,所以我认为这应该是可能的。稍后,我计划转移到grid2。对于开发,我将通过右键单击XML配置文件上的运行来运行IntelliJ idea测试运行程序。 我在并行运行测试时遇到了问题(在grid

  • 我想用Selenium和TestNG来模拟谷歌搜索,同时使用各种搜索参数。下面是我的测试类和testng。xml。我已经使用下面的注释

  • 我想在类中与数据提供者并行运行测试方法。我需要一个数据提供者,它每次在新测试方法开始为给定的测试运行生成部分动态数据之前都会被调用。让我用伪代码解释一下: 我怎样才能做到这一点?

  • 这是驱动程序类,它将为每个测试方法创建驱动程序实例。

  • 我的jmeter测试计划如下所示, 并且我的测试计划配置设置为并行运行所有线程组 在这里,我想依次执行线程组1,然后执行线程组2,同时执行相同的线程组3,然后执行线程组4,但是线程组1和线程组3并行执行