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

testng在执行子类时再次从基类执行@Test注释的方法

谯皓君
2023-03-14

我有2个类-A类和B类-A类包含2个测试方法,B类包含1个测试方法,在TestNG中用@Test和优先级注释

类B扩展了类A,因为类B需要使用在类A中初始化的WebDriver对象(在用@Test(priority=1)注释的方法之一中)

当TestNG运行测试时,它运行两个类A的方法,然后运行类B中的方法。然后再次运行类A的两个方法并完成测试

为什么它又执行A类的方法?如何防止它这样做?

共有1个答案

段干靖
2023-03-14

我不会用测试来初始化!使用Before方法或类似的方法。如果这是一个非常复杂的方法,那么我会尝试使其静态且可重用,或者将其提取到一个抽象类中,这两个类(a和B)都是从该类扩展而来的。

 类似资料:
  • 示例: 当我在测试套件中执行这些类时,首先执行类1的@test,然后打开一个新的浏览器实例,其中执行类2的@test。现在执行类1的第二个@test,然后执行类2的第二个@test。注意:在这种情况下测试并行为false。需要知道为什么会这样。我希望第一类的执行在第二类开始之前完成。我想不通。我做了一些变通办法,但没有奏效。 提前道谢。

  • 问题内容: 我有一个罐子,里面装有两个主要的A类和B类。在清单中,我提到了A类。现在,我必须从同一jar执行classB。命令应该是什么。 我不喜欢做两个单独的罐子。 谢谢 问题答案: 这将完成工作:

  • 电磁铁模块 快门线模块

  • 我有4个@Test方法,希望每个方法都运行3次。我想在12个线程中同时执行所有这些。 我创建了一个testng。像这样的xml文件 如果我设置并行="方法",TestNG在Test1的4个线程中执行4个测试方法,之后对Test2执行相同的操作,然后对Test3执行相同的操作。但是我不想在运行Test2之前等待Test1完成。TestNG能够运行Test1、Test2 有没有办法告诉TestNG不要

  • 注释: 方面: 有什么想法吗?谢了。

  • 请查看testng.xml并建议 我想运行2个类(下面提到),但面临一些挑战,因为它在下面提到的2个场景下显示了一些不稳定的行为。 这些测试类下的方法具有组和优先级 **目标是使用组运行这些测试 Scenario1:当我使用Threadcount=1时; [test name=“autopracticee”parallel=“classes”thread-count=“1”] 以下是行为: 1.1