我有我的测试和Maven的java项目来构建它。
测试结构:
TestBase只包含三种方法:
@BeforeClass
- 运行浏览器@BeforeMethod
- 打开主页@AfterSuite
- 关闭浏览器 QuickTest包含4个带有@Test
注释和(groups = {"quick"})
注释的快速测试方法
LongTest包含@DataProvider
和一个@Test
以使用(groups = {"long"})
在Maven中我有一些配置文件可以启动不同的浏览器。我的目标是使用:
mvn test -P ie9 -Dgroups=quick
只运行快速测试,但我的TestBase
课程出现问题。我总是添加@BeforeClass
和@BeforeMethod
以及工作正常的(alwaysRun = true)
。
但我的@AfterSuite
方法不起作用。当我向其添加(alwaysRun = true)
时,此方法将始终记录错误并失败。
对于快速组我想要测试顺序:
BeforeClass - > BeforeMethod - > TestMethod1 - > BeforeMethod - > TestMethodX - > AfterSuite
对于长组我想要订购:
BeforeClass - > BeforeMethod - > TestMethodWithData1 - > BeforeMethod - > TestMethodWithDataX - > AfterSuite
我应该使用哪些注释以及我的testng.xml应该是什么样的?