我使用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“
答案 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应用程序/项目。