org.testng.TestNGException:实例化类

时间:2019-04-27 05:07:22

标签: java maven selenium testng

我使用TestNG的硒自动化框架在Windows 7上运行良好,但是当我在Windows 10上配置相同的框架时,我面临以下问题。 您能帮我吗?

测试详细信息:

操作系统::Windows 10 64位

Eclipse版本:版本:2019-03(4.11.0)

TestNG版本: 6.14.3

  

[RemoteTestNG]检测到TestNG版本6.14.3   org.testng.TestNGException:实例化时发生错误   com.saf.aw_nxt_end_to_end_tests.AW_NXT_Login类:   org / w3c / dom / ElementTraversal位于   org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:435)     在   org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336)     在   org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125)     在org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190)在   org.testng.internal.TestNGClassFinder.processFactory(TestNGClassFinder.java:203)     在   org.testng.internal.TestNGClassFinder.processMethod(TestNGClassFinder.java:179)     在   org.testng.internal.TestNGClassFinder.processClass(TestNGClassFinder.java:171)     在   org.testng.internal.TestNGClassFinder。(TestNGClassFinder.java:121)     在org.testng.TestRunner.initMethods(TestRunner.java:370)处   org.testng.TestRunner.init(TestRunner.java:271)在   org.testng.TestRunner.init(TestRunner.java:241)在   org.testng.TestRunner。(TestRunner.java:192)在   org.testng.remote.support.RemoteTestNG6_12 $ 1.newTestRunner(RemoteTestNG6_12.java:33)     在   org.testng.remote.support.RemoteTestNG6_12 $ DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66)     在   org.testng.SuiteRunner $ ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713)     在org.testng.SuiteRunner.init(SuiteRunner.java:260)处   org.testng.SuiteRunner。(SuiteRunner.java:198)在   org.testng.TestNG.createSuiteRunner(TestNG.java:1295)在   org.testng.TestNG.createSuiteRunners(TestNG.java:1273)在   org.testng.TestNG.runSuitesLocally(TestNG.java:1128)位于   org.testng.TestNG.runSuites(TestNG.java:1049)在   org.testng.TestNG.run(TestNG.java:1017)在   org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)     在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)     在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)上引起   创建人:java.lang.NoClassDefFoundError:org / w3c / dom / ElementTraversal位于   java.lang.ClassLoader.defineClass1(本机方法)位于   java.lang.ClassLoader.defineClass(ClassLoader.java:763)在   java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)     在java.net.URLClassLoader.defineClass(URLClassLoader.java:468)在   java.net.URLClassLoader.access $ 100(URLClassLoader.java:74)在   java.net.URLClassLoader $ 1.run(URLClassLoader.java:369)在   java.net.URLClassLoader $ 1.run(URLClassLoader.java:363)在   java.security.AccessController.doPrivileged(本机方法),位于   java.net.URLClassLoader.findClass(URLClassLoader.java:362)在   java.lang.ClassLoader.loadClass(ClassLoader.java:424)在   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:349)在   java.lang.ClassLoader.loadClass(ClassLoader.java:357)在   org.apache.xerces.parsers.AbstractDOMParser.startDocument(未知   来源)   org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(未知   来源)   org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(未知   来源)   org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(未知   来源)位于org.apache.xerces.parsers.XML11Configuration.parse(未知   来源)位于org.apache.xerces.parsers.XML11Configuration.parse(未知   来源)org.apache.xerces.parsers.XMLParser.parse(未知来源)     在org.apache.xerces.parsers.DOMParser.parse(未知源)在   org.apache.xerces.jaxp.DocumentBuilderImpl.parse(未知源)位于   javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)在   org.apache.log4j.xml.DOMConfigurator $ 1.parse(DOMConfigurator.java:749)     在   org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:871)     在   org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:755)     在   org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:896)     在com.saf.utilities.Log.getInstance(Log.java:19)处   com.saf.base.BaseTest。(BaseTest.java:138)在   sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)     在   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)     在   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     在java.lang.reflect.Constructor.newInstance(Constructor.java:423)     在   org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24)     在   org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423)     ... 24更多原因:java.lang.ClassNotFoundException:   org.w3c.dom.ElementTraversal位于   java.net.URLClassLoader.findClass(URLClassLoader.java:382)在   java.lang.ClassLoader.loadClass(ClassLoader.java:424)在   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:349)在   java.lang.ClassLoader.loadClass(ClassLoader.java:357)...还有58个   捡起JAVA_TOOL_OPTIONS:-agentlib:jvmhook捡起   _JAVA_OPTIONS:-Xrunjvmhook -Xbootclasspath / a:“ C:\ Program Files(x86)\ HP \ Unified Functional   Testing \ bin \ java_shared \ classes“;” C:\ Program Files(x86)\ HP \ Unified   功能测试\ bin \ java_shared \ classes \ jasmine.jar“

1 个答案:

答案 0 :(得分:1)

好像您遇到了java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal错误。

来自Another Answer:
发生此错误的原因是xml-apis库的1.4.01版本包含必需的ElementTraversal类。其他版本(如2.0.0、1.0.0等)不包含它,并且应用程序在编译时失败。

  • 主要解决方案:

在pom.xml上,将“ xml-apis”依赖项设置为1.4.01版:

<dependency>
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
    <version>1.4.01</version>
</dependency>
  • 每个人的解决方案:

如果不使用maven,则可以手动添加版本1.4.01的xml-apis库。您将在名为“ XML Commons External 1.4.01”的xml-commons二进制包中找到这些jar,可以在此处下载它们:http://xerces.apache.org/mirrors.cgi

最后,使用此版本的库编译并执行Java应用程序/项目。