引起:java.lang.InstantiationException:TestNGFrameWorkBetaVersionPackage.TestNGFrameWorkBetaVersionClass

问题描述 投票:1回答:1

可能是什么造成的

java.lang.InstantiationException:TestNGFrameWorkBetaVersionPackage.TestNGFrameWorkBetaVersionClass

这个TestNG有错误吗?寻求您的支持。 enter image description here

selenium testng
1个回答
0
投票

问题在于您的测试代码。

您基本上已向监听器添加了非默认构造函数。从你的截图中不清楚你在监听器中如何连接(stacktrace表明这个监听器是通过testng xml文件或通过服务加载器机制连接的)

侦听器对象由TestNG通过反射自动实例化。在这些情况下,TestNG会查找默认构造函数,以便能够实例化侦听器。

要解决此问题,请将默认构造函数添加到侦听器类。

如果您正在捕获失败的屏幕截图,请执行以下操作:

  1. 通过调用ITestResult来获取当前测试方法的Reporter.getCurrentTestResult()(代表测试方法的测试结果)对象,然后通过使用WebDriverITestResult实例添加为ITestResult.setAttribute()对象来将其作为属性添加到onTestFailure()对象中
  2. 现在在侦听器中,在ITestResult.getAttribute()方法中,您可以通过qazxswpoi调用检索webdriver对象,然后使用它来捕获屏幕截图。
  3. 别忘了删除测试类中对侦听器的引用。
© www.soinside.com 2019 - 2024. All rights reserved.