Re: [geb-user] geb.driver.DriverCreationException: failed to create driver from callback 'script1586597042131428524687$_run_closure1$_closure3$_closure7@fafe172'

50 views
Skip to first unread message

Alexander Kriegisch

unread,
Apr 15, 2020, 7:10:07 AM4/15/20
to geb-...@googlegroups.com
Hello Vijay.

You provided a lot of information such as
-- Gradle build config,
-- GebConfig.groovy,
-- Stack trace.

Thanks for that. Maybe you forgot to also include your actual Geb test.
Also, there are undefined variables inside your Gradle config file.
Maybe it would really be easier to publish a minimal version of the
project on GitHub, so everyone can just clone, compile, run and analyse
your problem.

Regards
--
Alexander Kriegisch
https://scrum-master.de

Yunesh Shalika

unread,
Apr 18, 2020, 10:10:19 AM4/18/20
to geb-...@googlegroups.com
As per my experience this happens when your chrome driver version is not compatible with the chrome browser that you’re invoking. Ex . If your browser is Chrome 80, and if you have placed chrome driver for 79, then this will happen.

You can get the compatible chrome driver version here : https://chromedriver.chromium.org/downloads
Hope this will help you

Thanks & Regards
Shalika

On Apr 11, 2020, at 3:47 PM, vijay kumar <vijayk...@gmail.com> wrote:

when i run my test script, getting below error

om.posh.automation.LoginSpec > Login Test cases FAILED
    geb.driver.DriverCreationException: failed to create driver from callback 'script1586597042131428524687$_run_closure1$_closure3$_closure7@fafe172'
        at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35)
        at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:85)
        at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy)
        at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:32)
        at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:84)
        at geb.Configuration.createDriver(Configuration.groovy:382)
        at geb.Configuration.getDriver(Configuration.groovy:371)
        at geb.Browser.getDriver(Browser.groovy:111)
        at geb.navigator.factory.BrowserBackedNavigatorFactory.<init>(BrowserBackedNavigatorFactory.groovy:35)
        at geb.Configuration.createNavigatorFactory(Configuration.groovy:417)
        at geb.Browser.createNavigatorFactory(Browser.groovy:133)
        at geb.Browser.getNavigatorFactory(Browser.groovy:121)
        at geb.Page.init(Page.groovy:144)
        at geb.Browser.createPage(Browser.groovy:859)
        at geb.Browser.to(Browser.groovy:550)
        at geb.Browser.to(Browser.groovy:539)
        at geb.spock.GebSpec.methodMissing(GebSpec.groovy:56)
        at com.posh.automation.LoginSpec.$tt__$spock_feature_2_1(LoginSpec.groovy:47)
        at com.posh.automation.LoginSpec.Login Test cases_closure2(LoginSpec.groovy)
        at groovy.lang.Closure.call(Closure.java:418)
        at groovy.lang.Closure.call(Closure.java:434)
        at grails.gorm.transactions.GrailsTransactionTemplate$1.doInTransaction(GrailsTransactionTemplate.groovy:68)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
        at grails.gorm.transactions.GrailsTransactionTemplate.executeAndRollback(GrailsTransactionTemplate.groovy:65)
        at com.posh.automation.LoginSpec.Login Test cases(LoginSpec.groovy)

        Caused by:
        java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa
.selenium.net.UrlChecker
            at org.openqa.selenium.net.UrlChecker.<init>(UrlChecker.java:66)
            at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:167)
            at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:63)
            at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:568)
            at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
            at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:128)
            at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:141)
            at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
            at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
            at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:148)
            at script1586597042131428524687$_run_closure1.closure3$_closure7(script1586597042131428524687.groovy:22)
            at script1586597042131428524687$_run_closure1.closure3$_closure7(script1586597042131428524687.groovy)
            at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29)
            ... 24 more

    geb.driver.DriverCreationException: failed to create driver from callback 'script1586597042131428524687$_run_closure1$_closure3$_closure7@fafe172'

        Caused by:
        java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa
.selenium.net.UrlChecker

    geb.driver.DriverCreationException: failed to create driver from callback 'script1586597042131428524687$_run_closure1$_closure3$_closure7@fafe172'

        Caused by:
        java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa
.selenium.net.UrlChecker

2 tests completed, 2 failed
:integrationTest FAILED
:mergeTestReports

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':integrationTest'.
> There were failing tests. See the results at: file:///D:/name/Automation/POSH/build/test-results/integrationTest/

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 5 mins 50.929 secs
| Tests FAILED Test execution failed

Chrome browser version: 80.0.3987.163
build Gradle
import grails.util.Environment
apply plugin: 'war'
war {
archiveName 'ROOT.war'
}
buildscript {
repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
maven { url "https://plugins.gradle.org/m2/" }

}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsVersion"
classpath "gradle.plugin.com.energizedwork.webdriver-binaries:webdriver-binaries-gradle-plugin:$webdriverBinariesVersion"
classpath "com.moowork.gradle:gradle-node-plugin:1.1.1"
classpath "com.moowork.gradle:gradle-node-plugin:1.2.0"
classpath "org.grails.plugins:hibernate5:${gormVersion-".RELEASE"}"
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.14.8"
classpath "org.grails.plugins:views-gradle:1.1.6"
}
}

version "0.1"
group "posh"

apply plugin:"eclipse"
apply plugin:"idea"
apply plugin:"war"
apply plugin:"org.grails.grails-web"
apply plugin:"com.moowork.node"
apply plugin:"com.energizedwork.webdriver-binaries"
apply plugin:"asset-pipeline"
apply plugin:"org.grails.grails-gsp"
apply plugin:"org.grails.plugins.views-json"
//apply plugin:"rest:0.7"

repositories {
mavenLocal()
mavenCentral()
maven { url "https://repo.grails.org/grails/core" }
//logical delete
maven { url "https://oss.jfrog.org/artifactory/oss-snapshot-local" }
// maven { url "http://dl.bintray.com/agorapulse/plugins" }

}

dependencies {
compile "org.springframework.boot:spring-boot-starter-logging"
compile "org.springframework.boot:spring-boot-autoconfigure"
compile "org.grails:grails-core"
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.springframework.boot:spring-boot-starter-tomcat"
compile "org.grails:grails-web-boot"
compile "org.grails:grails-logging"
compile "org.grails:grails-plugin-rest"
compile "org.grails:grails-plugin-databinding"
compile "org.grails:grails-plugin-i18n"
compile "org.grails:grails-plugin-services"
compile "org.grails:grails-plugin-url-mappings"
compile "org.grails:grails-plugin-interceptors"
compile "org.grails.plugins:cache"
compile "org.grails.plugins:async"
compile "org.grails.plugins:scaffolding"
compile "org.grails:grails-plugin-gsp"
compile "org.grails.plugins:events"
compile "org.grails.plugins:hibernate5"
compile "org.hibernate:hibernate-core:5.1.5.Final"
compile "org.grails.plugins:gsp"
compile "org.grails.plugins:views-json"
compile "org.grails.plugins:views-json-templates"
compile "org.grails.plugins:spring-security-core:3.2.1"
compile "org.grails.plugins:spring-security-rest:2.0.0.RC1"
compile group: 'com.google.code.gson', name: 'gson', version: '2.7'
compile group: 'org.json', name: 'json', version: '20090211'
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1'
compile group: 'io.jsonwebtoken', name: 'jjwt', version: '0.7.0'
compile "com.razorpay:razorpay-java:1.3.8"
compile group: 'com.google.appengine', name: 'appengine-api-1.0-sdk', version: '1.9.64'
compile group: 'com.google.appengine.tools', name: 'appengine-gcs-client', version: '0.8'
compile group: 'org.im4java', name: 'im4java', version: '1.4.0'
// compile 'com.rollbar:rollbar-java:1.+'
// compile('com.rollbar:rollbar-logback:1.+')

// https://mvnrepository.com/artifact/com.microsoft.aad/adal4j
compile group: 'com.microsoft.aad', name: 'adal4j', version: '0.0.2'
compile('com.microsoft.graph:microsoft-graph:1.2.+')
//audit logging
// compile 'org.grails.plugins:audit-logging:3.0.5'
//
// providedCompile group: 'jmagick', name: 'jmagick', version: '6.6.9'
// // https://mvnrepository.com/artifact/org.antlr/antlr-complete
//// compile group: 'org.antlr', name: 'antlr-complete', version: '3.5.2'

// compile "org.grails.plugins:asynchronous-mail:2.0.2"
compile 'org.apache.poi:poi:3.9'
compile 'org.apache.poi:poi-ooxml:3.9'
compile 'desirableobjects.grails.plugins:grails-sendgrid:2.0.1'
// compile "org.grails.plugins:newrelic:4.1.0"
compile 'com.google.cloud:google-cloud-storage:1.26.0'
compile 'com.google.api-client:google-api-client:1.30.7'
//logical delete
compile "org.grails.plugins:gorm-logical-delete:2.0.0.BUILD-SNAPSHOT"
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '2.0.1'
//compile group: 'com.google.apis', name: 'google-api-services-cloudkms', version: 'v1-rev71-1.25.0'
compile('org.grails.plugins:jasypt-encryption:2.0.2'){
exclude group:"org.bouncycastle",module:"bcprov-jdk16:1.46"
}
//image resize
// https://mvnrepository.com/artifact/javaxt/javaxt-core
// compile group: 'javaxt', name: 'javaxt-core', version: '1.7.8'

// https://mvnrepository.com/artifact/com.itextpdf/itextpdf
// compile group: 'com.itextpdf', name: 'itextpdf', version: '5.0.6'

compile 'org.grails.plugins:quartz:2.0.13'
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.5.0'//) {
// excludes "commons-logging", "xml-apis", "groovy"
// }
console "org.grails:grails-console"

//microsoft
compile group: 'com.microsoft.azure', name: 'msal4j', version: '1.0.0'

profile "org.grails.profiles:react-webpack"
runtime "org.glassfish.web:el-impl:2.1.2-b03"
runtime "com.h2database:h2"
runtime "org.apache.tomcat:tomcat-jdbc"
runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.14.8"
runtime "mysql:mysql-connector-java:5.1.18"
runtime 'org.grails.plugins:ajax-tags:1.0.0.RC1'
testCompile "org.grails:grails-gorm-testing-support"
testCompile "org.grails:grails-web-testing-support"
testCompile "org.grails.plugins:geb"
testRuntime "org.seleniumhq.selenium:selenium-chrome-driver:2.47.1"
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntime "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
testRuntime "org.seleniumhq.selenium:selenium-safari-driver:$seleniumSafariDriverVersion"

testCompile "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-api:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-support:$seleniumVersion"

testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
implementation 'com.github.dhorions:boxable:1.5'
compile 'org.grails.plugins:mail:3.0.0'
}

webdriverBinaries {
chromedriver "$chromeDriverVersion"
geckodriver "$geckodriverVersion"
}
bootRun {
final Boolean reloadEnabled =
Boolean.valueOf(
System.properties[Environment.RELOAD_ENABLED])

if (reloadEnabled) {
systemProperty Environment.RELOAD_ENABLED, reloadEnabled
}

jvmArgs('-Dspring.output.ansi.enabled=always')
addResources = true
String springProfilesActive = 'spring.profiles.active'
systemProperty springProfilesActive, System.getProperty(springProfilesActive)
}
node {
version = '8.7.0'
npmVersion = "3.10.10"
yarnVersion = '1.3.2'
distBaseUrl = 'https://nodejs.org/dist'
download = true
}

task bundle(type: YarnTask, dependsOn: 'yarn') {
group = 'build'
description = 'Build the client bundle'
args = ['run', 'bundle']
}

task webpack(type: YarnTask, dependsOn: 'yarn') {
group = 'application'
description = 'Build the client bundle in watch mode'
args = ['run', 'start']
}

bootRun.dependsOn(['bundle'])
assetCompile.dependsOn(['bundle'])

task mochaTest(type: YarnTask, dependsOn: 'yarn') {
group = 'verification'
description = 'Run the client tests'
args = ['run', 'test']
}

/*tasks.withType(Test) {
systemProperty "geb.env", System.getProperty('geb.env')
systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
systemProperty "webdriver.chrome.driver", System.getProperty('webdriver.chrome.driver')
systemProperty "webdriver.gecko.driver", System.getProperty('webdriver.gecko.driver')
}*/
tasks.withType(Test) {
systemProperty "geb.env", System.getProperty('geb.env')
systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
beforeTest { descriptor -> logger.quiet " -- $descriptor" }
testLogging {
events "passed", "skipped", "failed"
exceptionFormat 'full'
}
}
assets {
minifyJs = true
minifyCss = true
from '/vendor'
}

apply from: "${rootProject.projectDir}/gradle/codenarc.gradle"

codenarcMain.group 'static analysis'
codenarcTest.group 'static analysis'
codenarcIntegrationTest.group 'static analysis'

GebConfig 
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.safari.SafariDriver
import org.openqa.selenium.WebDriver

//import org.openqa.selenium.firefox.FirefoxOptions

environments {

// You need to configure in Safari -> Develop -> Allowed Remote Automation
safari {
driver = { new SafariDriver() }
}

// run via “./gradlew -Dgeb.env=chrome iT”
chrome {
driver = {

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver(options);

//new ChromeDriver()


}
}

// run via “./gradlew -Dgeb.env=chromeHeadless iT”
chromeHeadless {
driver = {
ChromeOptions o = new ChromeOptions()
o.addArguments('headless')
new ChromeDriver(o)
}
}

// run via “./gradlew -Dgeb.env=firefoxHeadless iT”
/*firefoxHeadless {
driver = {
FirefoxOptions o = new FirefoxOptions()
o.addArguments('-headless')
new FirefoxDriver(o)
}
}*/

// run via “./gradlew -Dgeb.env=firefox iT”
firefox {
driver = { new FirefoxDriver() }
}
//baseUrl = "http://localhost:8080"
reportsDir = new File("target/geb-reports")
}




updated seleniun version also , still getting same issue, can you help slove issue

--
You received this message because you are subscribed to the Google Groups "Geb User Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geb-user+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/geb-user/da37cbda-2368-4caa-b6b9-e8ac1d17b391%40googlegroups.com.

Marcin Erdmann

unread,
Apr 18, 2020, 10:40:50 AM4/18/20
to geb-...@googlegroups.com
The stacktrace you are getting mentions not being able to call a constructor of com.google.common.util.concurrent.SimpleTimeLimiter, which is a guava class. The problem will most likely be that the version of guava used is incompatible with the version of WebDriver you are using. You seem to be using WebDrvier 2.47.1 which is a relatively old version and which most likely requires an older version of Guava. You have a lot of dependencies specified in your build file and I suspect at least one of them depends on a newer version of Guava which means that a newer one ends up on a classpath as selecting a newer version is what Gradle does by default when there is a dependency version conflict. 

To get better insight into what's going on with the dependency on guava you can execute ./gradlew dependencyInsight --configuration testRuntime --dependency guava.

Sergio del Amo Caballero

unread,
Apr 22, 2020, 6:06:31 PM4/22/20
to geb-...@googlegroups.com
Not sure if this will help but I had issues with the Guava version and Geb in selenium project. 

I had to define the guava version explicitly: 

// other dependencies expose guava android version, selenium needs JRE version
testImplementation 'com.google.guava:guava:28.0-jre'

Sergio del Amo

On 18 Apr 2020, at 16:40, Marcin Erdmann <marcin....@proxerd.pl> wrote:


Reply all
Reply to author
Forward
0 new messages