有没有办法获取当前正在执行的组的名称?
我试过了:
@BeforeMethod
public void beforeMethod(ITestContext context) {
groups = context.getCurrentXmlTest().getIncludedGroups();
}
但这给了我当前运行方法支持的所有组,而不是当前正在执行的组。
有没有办法获取当前正在执行的组的名称?
我试过了:
@BeforeMethod
public void beforeMethod(ITestContext context) {
groups = context.getCurrentXmlTest().getIncludedGroups();
}
但这给了我当前运行方法支持的所有组,而不是当前正在执行的组。
如果想知道执行@Test
方法所属的第一个组名:
@BeforeMethod
public void beforeMethod(Method method){
Test testClass = method.getAnnotation(Test.class);
System.out.println(testClass.groups()[0]);
}
如果您想知道执行@Test
方法所属的所有组名称:
@BeforeMethod
public void beforeMethod(Method method){
Test testClass = method.getAnnotation(Test.class);
for (int i = 0; i < testClass.groups().length; i++) {
System.out.println(testClass.groups()[i]);
}
}
希望这可以帮助!
现在回答这个问题,因为这个问题被标记在一个类似的问题中,但用例不同。因此,这可能对任何寻找答案的人都有帮助:
这是一种解决方法:而不是 get getIncludedGroups
,使用getName
并执行以下操作:
@BeforeMethod(groups = {"one", "two"} )
public void beforeMethod(ITestContext ctx) {
String name = ctx.getCurrentXmlTest().getName();
if(name.contains("GRP")) {
String grpName = name.split("GRP-")[1];
if(grpName.equals("one")) {
// ......
} else {
// .....
}
}
}