java - 如何在 TestNG 中获取测试组名称

标签 java selenium testng

我是 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 传递的参数吗?

最佳答案

使用reflected方法获取测试组如下:

@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.
}

关于java - 如何在 TestNG 中获取测试组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31555992/

相关文章:

java - 在服务器上运行单元测试(JAX-RS)

java - org.openqa.selenium.remote.UnreachableBrowserException : Could not start a new session error with Selenium and IE11 using Java

javascript - 有/没有 Selenium 运行 Protractor 的区别?

java - 从 Mac 上的终端运行 testng.xml

java - 将 NullPointerException 视为单元测试失败 : is it good practice?

java.lang.NoClassDefFoundError 调试,类未加载

java - 未报告的异常 SQLException 必须被捕获或声明为抛出

java - testng.xml 没有运行来自不同包的多个类

java - Selenium - 从两个显示器捕获屏幕截图

java - 在创建 PDF 时减少 Java 堆空间消耗