我是testNG的新手,我有以下代码:
@BeforeMethod
public void getGroup(ITestAnnotation annotation){
System.out.println("Group Name is --" + annotation.getGroups()) ;
}
@Test(groups = { "MobilSite" })
public void test1(){
System.out.println("I am Running Mobile Site Test");
}
我想在方法之前使用组名,我尝试使用ITestAnnotation
但是当我运行测试时我得到以下错误
Method getGroup requires 1 parameters but 0 were supplied in the @Configuration annotation.
请帮助我从XML传递参数?
答案 0 :(得分:4)
使用反射方法获取测试组,如下所示:
@BeforeMethod
public void befMet(Method m){
Test t = m.getAnnotation(Test.class);
System.out.println(t.groups()[0]);//or however you want to use it.
}
答案 1 :(得分:1)
如果您想知道执行@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]);
}
}
答案 2 :(得分:-1)
如果我理解正确,您希望将group添加到beforeMethod。
@BeforeMethod(groups = {"MobilSite"}, alwaysRun = true)