Java 如何在testng中在运行时获取类名
我在基类中有Java 如何在testng中在运行时获取类名,java,selenium-webdriver,testng,Java,Selenium Webdriver,Testng,我在基类中有@BeforeClass带注释的方法。我试图在运行时获取当前执行类的名称(从子类到基类) 我们是否有任何机制在运行时从基类获取类名 当我试图运行单个类,但在运行多个类时遇到问题时,我能够获得类名。为报表中的所有类获取相同的类名。您可以参考此链接 如果要获取超类名,可以使用getSuperClass()。可以在此处使用TestNg ITestContext对象: Class x = ctx.getSuite().getAllMethods().listIterator.next.ge
@BeforeClass
带注释的方法。我试图在运行时获取当前执行类的名称(从子类到基类)
我们是否有任何机制在运行时从基类获取类名
当我试图运行单个类,但在运行多个类时遇到问题时,我能够获得类名。为报表中的所有类获取相同的类名。您可以参考此链接
如果要获取超类名,可以使用getSuperClass()。可以在此处使用TestNg ITestContext对象:
Class x = ctx.getSuite().getAllMethods().listIterator.next.getRealClass();
//Then just take it as a String
String name = x.getName().substring(x.getName().lastIndexOf(“.”)+1);
或者,您可以通过以下方式检索类本身:
iTestContext.getAllTestMethods()[0].getInstance().getClass();
在代码示例后,不清楚您想要实现什么atm.java.lang.Object.getClass()实例如果这里可以使用另一个问题的答案,请不要回答该问题并将其标记为重复(如果您有足够的权限)。
iTestContext.getAllTestMethods()[0].getInstance().getClass();