我对在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文档--没有帮助。
大多数时候,人们使用@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 如果您具有以下测