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

如何使用TestNG中的beforeClass、afterClass、afterSuite组织testSuite的结构?

齐俊达
2023-03-14

我对在TestNG中使用注释@beforeClass、afterClass、beforeSuite、afterSuite感到困惑。

package mytestNG.learning.it ;

public class sample_not_working {
  @Test
  //take action - click on links, input data etc
  public void main() {
  }
  @BeforeMethod
  //do stuff like setup browser etc
  public void beforeMethod() {
  }

  @AfterMethod
  //close browser 
  public void afterMethod() {
  }
}

接下来,afterSuite、beforeSuite和@test:

  public class sample_not_working {
  @Test

  public void main() {
  //WHAT KINDA CODE YOU PUT HERE?
  }
  @BeforeSuite
  //WHAT KINDA CODE YOU PUT HERE?
  public void beforeMethod() {
  }
  @AfterSuite
  public void afterMethod() {
  //WHAT KINDA CODE YOU PUT HERE?
  }
}

我的问题是关于语义,意思,而不是实际的代码。我读了testNG文档--没有帮助。

共有1个答案

符畅
2023-03-14

大多数时候,人们使用@beforeMethod@afterMethod来设置和删除驱动程序。

对于这种和其他常见的自动化需求,有一些TestNG扩展可用于将Selenium与TestNG一起使用,后者提供了这种内置的实现。例如,其中一个框架将驱动程序管理抽象在代码之外,使您的测试和相关代码整洁干净,您不需要担心驱动程序管理和其他web或移动自动化的常见自动化需求。

 类似资料:
  • 问题内容: 在下面使用这种方法时,通过设置带有套件的jUnit。当每个Testclass中的所有@BeforeClass将在开始执行任何测试之前执行时,我们遇到了问题。(对于每个n个TestClass文件,@BeforeClass运行,然后在它们执行之后,它开始执行第一个MyTest.class文件@Test) 这将导致我们分配大量的资源和内存。我的想法是一定是错误的,每个@BeforeClass

  • 我试图用硒和cucumber做并行测试。因此,我们有大约130个测试场景,运行时间约为1.5小时。现在通过并行运行所有这些测试,我可以减少时间。 我正在使用以下两个插件: 因此,假设我给出线程计数或分叉计数3,它将调用3个浏览器,并运行测试。使用CUcumber JVM并行插件,我为所有场景创建了131个runner。使用Cucumber的@Before注释,我可以调用浏览器一次,接下来的所有实例

  • 这是另一堂课 和TESTNG XML-------- 当我在testNG中运行上述XML时,它没有执行@BeforeCLass和@AfterClass方法。它将输出显示为- [RemoteTestNG]在Open Test Test ONE中检测到TestNG版本7.2.0

  • 我们从官方的TestNG文档中了解到: 在调用当前类中的第一个测试方法之前,将运行带注释的方法。 将在运行属于标记中的类的任何测试方法之前运行带注释的方法。

  • 假设我有testng.xml, 这可能包含更多接近10-15的类,这是我的通用testng.xml,来自不同的testdata,我想要的是跳过com.testclass1类(对于特定情况),其余的test应该执行。 我尝试使用TestNG的IAnnotationTransformer监听器来实现我的类。 代码段是, 并在测试类级别调用此侦听器,如 @Listeners(com.skiptestcl

  • 问题内容: 我们从TestNG官方文档中知道: 带注释的方法将在调用当前类中的第一个测试方法之前运行。 带注释的方法将在运行属于标签内部的类的任何测试方法之前运行。 上面的两个TestNG批注在功能上看起来都很相似。谁能解释这个独特的区别? 问题答案: SeleniumAbstractTest.class MyTestClass1.class MyTestClass2.class 如果您具有以下测