org.testng.TestNGException:实例化类时发生错误 [英] org.testng.TestNGException: An error occurred while instantiating class
问题描述
我使用 TestNG 的 selenium 自动化框架在 Windows 7 上运行良好,但是当我在 Windows 10 上配置相同的框架时,我面临以下问题.你能帮我做同样的事情吗.
My selenium automation framework using TestNG is working fine on the windows 7 but when I configured the same framework on the windows 10 I'm facing the below issue. Could you please help me on the same.
测试详情:
操作系统:windows 10 64 位
Operating system: windows 10 64 bit
Eclipse 版本: 版本:2019-03 (4.11.0)
Eclipse Version: Version: 2019-03 (4.11.0)
TestNG 版本: 6.14.3
[RemoteTestNG] 检测到 TestNG 版本 6.14.3org.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 atjava.lang.ClassLoader.defineClass1(Native Method) 在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(Native Method) 在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(Unknown Source) 在org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) atjavax.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(Native Method)在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测试\bin\java_shared\classes";"C:\Program Files (x86)\HP\Unified功能测试\bin\java_shared\classes\jasmine.jar"
[RemoteTestNG] detected TestNG version 6.14.3 org.testng.TestNGException: An error occurred while instantiating class com.saf.aw_nxt_end_to_end_tests.AW_NXT_Login: org/w3c/dom/ElementTraversal at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:435) at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:336) at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:125) at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:190) at org.testng.internal.TestNGClassFinder.processFactory(TestNGClassFinder.java:203) at org.testng.internal.TestNGClassFinder.processMethod(TestNGClassFinder.java:179) at org.testng.internal.TestNGClassFinder.processClass(TestNGClassFinder.java:171) at org.testng.internal.TestNGClassFinder.(TestNGClassFinder.java:121) at org.testng.TestRunner.initMethods(TestRunner.java:370) at org.testng.TestRunner.init(TestRunner.java:271) at org.testng.TestRunner.init(TestRunner.java:241) at org.testng.TestRunner.(TestRunner.java:192) at org.testng.remote.support.RemoteTestNG6_12$1.newTestRunner(RemoteTestNG6_12.java:33) at org.testng.remote.support.RemoteTestNG6_12$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_12.java:66) at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:713) at org.testng.SuiteRunner.init(SuiteRunner.java:260) at org.testng.SuiteRunner.(SuiteRunner.java:198) at org.testng.TestNG.createSuiteRunner(TestNG.java:1295) at org.testng.TestNG.createSuiteRunners(TestNG.java:1273) at org.testng.TestNG.runSuitesLocally(TestNG.java:1128) at org.testng.TestNG.runSuites(TestNG.java:1049) at org.testng.TestNG.run(TestNG.java:1017) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77) Caused by: java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source) at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205) at org.apache.log4j.xml.DOMConfigurator$1.parse(DOMConfigurator.java:749) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:871) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:755) at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:896) at com.saf.utilities.Log.getInstance(Log.java:19) at com.saf.base.BaseTest.(BaseTest.java:138) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:24) at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:423) ... 24 more Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 58 more Picked up JAVA_TOOL_OPTIONS: -agentlib:jvmhook Picked up _JAVA_OPTIONS: -Xrunjvmhook -Xbootclasspath/a:"C:\Program Files (x86)\HP\Unified Functional Testing\bin\java_shared\classes";"C:\Program Files (x86)\HP\Unified Functional Testing\bin\java_shared\classes\jasmine.jar"
推荐答案
看起来您遇到了 java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
错误.
Looks like you are getting the java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
error.
来自另一个答案:
此错误的原因是 xml-apis 库的 1.4.01 版本包含所需的 ElementTraversal 类.2.0.0、1.0.0等其他版本不包含,编译失败.
From Another Answer:
The reason for this error is that the 1.4.01 version of the xml-apis library, includes the required ElementTraversal class. Other versions like 2.0.0, 1.0.0, etc. do not include it, and the application fails while compiling.
- 专家解决方案:
在 pom.xml 中,将xml-apis"依赖项设置为 1.4.01 版:
At pom.xml , set "xml-apis" dependency to version 1.4.01:
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
</dependency>
- 适合所有人的解决方案:
如果不使用maven,可以手动添加xml-apis库,版本1.4.01.您将在 xml-commons 二进制包中找到这些 jar,名为XML Commons External 1.4.01",您可以在此处下载:http://xerces.apache.org/mirrors.cgi.
If not using maven, you can manually add the xml-apis library, version 1.4.01. You will find the jars inside the xml-commons binary package, named "XML Commons External 1.4.01", and you can download it here: http://xerces.apache.org/mirrors.cgi.
最后,使用此版本的库编译并执行您的 Java 应用程序/项目.
Finally, compile and execute your java application/project with this version of the library.
这篇关于org.testng.TestNGException:实例化类时发生错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!