Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在testng中在运行时获取类名_Java_Selenium Webdriver_Testng - Fatal编程技术网

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();