Maven Selenium 3.7.1 gson依赖项引发ClassNotFoundException
操作系统:Maven Selenium 3.7.1 gson依赖项引发ClassNotFoundException,maven,selenium,gson,selenium-chromedriver,Maven,Selenium,Gson,Selenium Chromedriver,操作系统: 视窗10 Selenium版本: 3.7.1(JAVA) 浏览器: Chrome 62.0.3(64位) Chrome驱动程序2.33.0 在升级到Selenium 3.7.1和chrome driver 2.33.0之后,由于gson jar上出现类未找到异常,我的测试失败。我可以在maven依赖项中看到jar。我可以通过在eclipse环境中添加gson作为外部jar来解决这个问题,但这限制了我只能从IDE运行 有没有其他人看到过这个问题,或者有人能看出我错在哪里?由于gson是
视窗10 Selenium版本: 3.7.1(JAVA) 浏览器:
Chrome 62.0.3(64位) Chrome驱动程序2.33.0 在升级到Selenium 3.7.1和chrome driver 2.33.0之后,由于gson jar上出现类未找到异常,我的测试失败。我可以在maven依赖项中看到jar。我可以通过在eclipse环境中添加gson作为外部jar来解决这个问题,但这限制了我只能从IDE运行 有没有其他人看到过这个问题,或者有人能看出我错在哪里?由于gson是作为selenium的一个依赖项包含的,我想我不应该将该依赖项添加到pom中。任何帮助都会很好,提前谢谢 问候 多纳 控制台输出
org.testng.TestNGException:
Cannot instantiate class Reg_Editor.EditFunctionality
at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:31)
at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:410)
at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:323)
at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:126)
at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:191)
at org.testng.TestClass.getInstances(TestClass.java:99)
at org.testng.TestClass.initTestClassesAndInstances(TestClass.java:85)
at org.testng.TestClass.init(TestClass.java:77)
at org.testng.TestClass.<init>(TestClass.java:42)
at org.testng.TestRunner.initMethods(TestRunner.java:423)
at org.testng.TestRunner.init(TestRunner.java:250)
at org.testng.TestRunner.init(TestRunner.java:220)
at org.testng.TestRunner.<init>(TestRunner.java:169)
at org.testng.remote.support.RemoteTestNG6_10$1.newTestRunner(RemoteTestNG6_10.java:28)
at org.testng.remote.support.RemoteTestNG6_10$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG6_10.java:61)
at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:616)
at org.testng.SuiteRunner.init(SuiteRunner.java:185)
at org.testng.SuiteRunner.<init>(SuiteRunner.java:131)
at org.testng.TestNG.createSuiteRunner(TestNG.java:1383)
at org.testng.TestNG.createSuiteRunners(TestNG.java:1363)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1217)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
Caused by: java.lang.reflect.InvocationTargetException
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:23)
... 25 more
Caused by: java.lang.NoClassDefFoundError: com/google/gson/JsonParseException
at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.java:37)
at org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.<init>(HttpProfilerLogEntry.java:29)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:161)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:107)
at Util.EMDriverSingleton.setLocalDriver(EMDriverSingleton.java:81)
at Util.EMDriverSingleton.getDriver(EMDriverSingleton.java:46)
at Util.Supertest.<init>(Supertest.java:82)
at Reg_Editor.EditFunctionality.<init>(EditFunctionality.java:16)
... 30 more
Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonParseException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 43 more
org.testng.TestNGException:
无法实例化类Reg_Editor.edit功能
位于org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:31)
位于org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:410)
位于org.testng.internal.ClassHelper.createInstance(ClassHelper.java:323)
位于org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:126)
位于org.testng.internal.ClassImpl.getInstances(ClassImpl.java:191)
位于org.testng.TestClass.getInstances(TestClass.java:99)
位于org.testng.TestClass.initTestClassesAndInstances(TestClass.java:85)
位于org.testng.TestClass.init(TestClass.java:77)
位于org.testng.TestClass.(TestClass.java:42)
位于org.testng.TestRunner.initMethods(TestRunner.java:423)
位于org.testng.TestRunner.init(TestRunner.java:250)
位于org.testng.TestRunner.init(TestRunner.java:220)
位于org.testng.TestRunner.(TestRunner.java:169)
位于org.testng.remote.support.RemoteTestNG6_10$1.newestrunner(RemoteTestNG6_10.java:28)
在org.testng.remote.support.RemoteTestNG6_10$delegatingestrunnerfactory.newTestRunner(RemoteTestNG6_10.java:61)
位于org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:616)
位于org.testng.SuiteRunner.init(SuiteRunner.java:185)
位于org.testng.SuiteRunner(SuiteRunner.java:131)
位于org.testng.testng.createSuiteRunner(testng.java:1383)
位于org.testng.testng.createSuiteRunners(testng.java:1363)
位于org.testng.testng.runSuitesLocally(testng.java:1217)
位于org.testng.testng.runSuites(testng.java:1144)
位于org.testng.testng.run(testng.java:1115)
位于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
原因:java.lang.reflect.InvocationTargetException
位于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:23)
... 25多
原因:java.lang.NoClassDefFoundError:com/google/gson/JsonParseException
位于org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.constructMessage(HttpProfilerLogEntry.java:37)
位于org.openqa.selenium.logging.profiler.HttpProfilerLogEntry.(HttpProfilerLogEntry.java:29)
位于org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:600)
位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
位于org.openqa.selenium.remote.RemoteWebDriver(RemoteWebDriver.java:142)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:161)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:107)
位于Util.EMDriverSingleton.setLocalDriver(EMDriverSingleton.java:81)
位于Util.EMDriverSingleton.getDriver(EMDriverSingleton.java:46)
位于Util.Supertest.(Supertest.java:82)
在Reg_Editor.editFunctional.(editFunctional.java:16)
... 30多
原因:java.lang.ClassNotFoundException:com.google.gson.JsonParseException
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 43多
聚甲醛
4.0.0
com.ExpertModels
专家模型
0.1-1快照
org.apache.maven.plugins
maven编译器插件
3.6.0
1.8
1.8
org.apache.maven.plugins
maven surefire插件
2.19.1
${browser}
${deployment}
${seleniumGrid}
0
testNG XML文件\${suiteXmlFile}
罐子
专家模型
http://maven.apache.org
UTF-8
org.apache.maven.plugins
maven surefire报告插件
2.19.1
真的
org.apache.maven.plugins
maven jxr插件
2.5
maven项目信息报告插件
2.7
放心吧
放心
3.0.3
测试
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ExpertModels</groupId>
<artifactId>Expert_Models</artifactId>
<version>0.1-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<browser>${browser}</browser>
<deployment>${deployment}</deployment>
<seleniumGrid>${seleniumGrid}</seleniumGrid>
<threadCount>0</threadCount>
<suiteXmlFiles>
<suiteXmlFile>testNG XML Files\${suiteXmlFile}</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<packaging>jar</packaging>
<name>Expert_Models</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--Surefire Reporting POM Dependency -->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<showSuccess>true</showSuccess>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
</plugin>
</plugins>
</reporting>
<!--Selenium Dependency -->
<dependencies>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.7.1</version>
</dependency>
<!--EXTENT REPORTS DEPENDENCY -->
<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.41.2</version>
</dependency>
<!-- http://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.9.0</version>
</dependency>
<!--JUNIT DEPENDENCY -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--TESTNG DEPENDENCY -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
</dependency>
<!--JXL DEPENDENCY -->
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6</version>
</dependency>
<!--Chrome Driver for Maven -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.33.0</version>
</dependency>
<!--IE Edge Driver for Maven -->
<!-- <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-edge-driver</artifactId>
<version>2.53.0</version> <scope>test</scope> </dependency> -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-edge-driver</artifactId>
<version>2.47.1</version>
</dependency>
<!-- IE Driver for Maven -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-ie-driver</artifactId>
<version>2.53.1</version>
</dependency>
</dependencies>
</project>
<!--Chrome Driver for Maven -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.33.0</version>
</dependency>
<!--IE Edge Driver for Maven -->
<!-- <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-edge-driver</artifactId>
<version>2.53.0</version> <scope>test</scope> </dependency> -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-edge-driver</artifactId>
<version>2.47.1</version>
</dependency>
<!-- IE Driver for Maven -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-ie-driver</artifactId>
<version>2.53.1</version>
</dependency>