Selenide: Selenide is not working with Spring Boot 1.4

Created on 23 Jun 2017  路  2Comments  路  Source: selenide/selenide

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.

  • Selenide 4.3.3
  • Spring Boot 1.4.7
  • phantomjs 2.1.1
  • geckodriver 0.16.1

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.

dependencies not a bug

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

All 2 comments

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

Was this page helpful?
0 / 5 - 0 ratings