Hi, there.
Selenide is not working with Spring Boot 1.4.
When I run the test, Selenide fail with error like this.
java.lang.RuntimeException: java.lang.IllegalAccessError: tried to access class org.openqa.selenium.os.ExecutableFinder from class org.openqa.selenium.phantomjs.PhantomJSDriverService
at com.codeborne.selenide.webdriver.WebDriverFactory.runtime(WebDriverFactory.java:321)
at com.codeborne.selenide.webdriver.WebDriverFactory.createInstanceOf(WebDriverFactory.java:314)
at com.codeborne.selenide.webdriver.WebDriverFactory.createPhantomJsDriver(WebDriverFactory.java:240)
at com.codeborne.selenide.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:54)
at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.createDriver(WebDriverThreadLocalContainer.java:240)
at com.codeborne.selenide.impl.WebDriverThreadLocalContainer.getAndCheckWebDriver(WebDriverThreadLocalContainer.java:113)
at com.codeborne.selenide.WebDriverRunner.getAndCheckWebDriver(WebDriverRunner.java:136)
at com.codeborne.selenide.impl.Navigator.navigateToAbsoluteUrl(Navigator.java:69)
at com.codeborne.selenide.impl.Navigator.open(Navigator.java:34)
at com.codeborne.selenide.Selenide.open(Selenide.java:82)
at com.codeborne.selenide.Selenide.open(Selenide.java:56)
My env is below.
I create a minimum project for reproduce this error.
https://github.com/zephiransas/spring-selenide
Checkout and run./gradlew test -i, then thr error will occur.
Is there any way to solve this problem?
Thx.
When I add this dependecies to build.gradle, it works well.
testCompile "org.seleniumhq.selenium:selenium-api:3.4.0"
testCompile "org.seleniumhq.selenium:selenium-remote-driver:3.4.0"
testCompile "org.seleniumhq.selenium:selenium-support:3.4.0"
Sorry for disturb.
UPDATE
@zephiransas
Actually cause is spring-boot-gradle-plugin. It applies the Dependency Management Plugin and after that dependency tree looks like that
com.codeborne:selenide:4.4.3
+--- org.apache.httpcomponents:httpcore:4.4.6
+--- org.seleniumhq.selenium:selenium-java:3.4.0 -> 2.53.1
| +--- org.seleniumhq.selenium:selenium-chrome-driver:2.53.1
| | --- org.seleniumhq.selenium:selenium-remote-driver:2.53.1
| | +--- org.seleniumhq.selenium:selenium-api:2.53.1
| | | --- com.google.guava:guava:19.0 -> 21.0
| | +--- org.apache.httpcomponents:httpclient:4.5.1 -> 4.5.3
| | +--- com.google.guava:guava:19.0 -> 21.0
| | +--- org.apache.commons:commons-exec:1.3
| | +--- net.java.dev.jna:jna:4.1.0 -> 4.2.2
| | --- net.java.dev.jna:jna-platform:4.1.0
| | --- net.java.dev.jna:jna:4.1.0 -> 4.2.2
Most helpful comment
@zephiransas
Actually cause is spring-boot-gradle-plugin. It applies the Dependency Management Plugin and after that dependency tree looks like that
com.codeborne:selenide:4.4.3
+--- org.apache.httpcomponents:httpcore:4.4.6
+--- org.seleniumhq.selenium:selenium-java:3.4.0 -> 2.53.1
| +--- org.seleniumhq.selenium:selenium-chrome-driver:2.53.1
| | --- org.seleniumhq.selenium:selenium-remote-driver:2.53.1
| | +--- org.seleniumhq.selenium:selenium-api:2.53.1
| | | --- com.google.guava:guava:19.0 -> 21.0
| | +--- org.apache.httpcomponents:httpclient:4.5.1 -> 4.5.3
| | +--- com.google.guava:guava:19.0 -> 21.0
| | +--- org.apache.commons:commons-exec:1.3
| | +--- net.java.dev.jna:jna:4.1.0 -> 4.2.2
| | --- net.java.dev.jna:jna-platform:4.1.0
| | --- net.java.dev.jna:jna:4.1.0 -> 4.2.2