|
Greetings!
I am facing issues with Geb tests. To my surprise, same test cases runs successfully on Windows7, Mac but it doesn't run on Ubuntu. I am using Grails 2.0.3 version, Ubuntu. And don't have release plugin installed.
They fail with following exception : geb.driver.DriverCreationException: failed to create driver from callback 'script1340874319842807170554$_run_closure1@5eef03' at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35)
at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.groovy:80) at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groovy:30)
at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:79) at geb.Configuration.createDriver(Configuration.groovy:278)
at geb.Configuration.getDriver(Configuration.groovy:267) at geb.Browser.getDriver(Browser.groovy:101)
at geb.Browser.go(Browser.groovy:367) at geb.Page.to(Page.groovy:168)
at geb.Browser.to(Browser.groovy:400) at geb.Browser.to(Browser.groovy:390)
at geb.Browser.to(Browser.groovy:380) at geb.spock.GebSpec.methodMissing(GebSpec.groovy:51)
at com.flint.grails.tac.geb.TacGebSpec.login(TacGebSpec.groovy:47) at com.flint.grails.tac.spec.ticketHeader.ListSpec.setupSpec(ListSpec.groovy:18)
Caused by: java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:59)
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:48) at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:110)
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:77) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:216)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:93) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:155)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:151) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:89)
at script1340874319842807170554.run_closure1(script1340874319842807170554.groovy:13) at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29)
... 14 more
Here is my BuildConfig file : def gebVersion = '0.7.0' def spockVersion = '0.6' def seleniumVersion = '2.23.1'
dependencies {
... test "org.seleniumhq.selenium:selenium-support:$seleniumVersion" test "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
test "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion"
test "org.codehaus.geb:geb-spock:$gebVersion"
} plugins { .... test ":geb:$gebVersion"
}
Any help would be appreciated. Best Regards, Amit Jain IntelliGrape Software |
|
Works fine for me with:
def gebVersion = "0.7.0" def seleniumVersion = "2.23.1" dependencies { ...
test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { excludes "xml-apis","commons-codec","commons-io"
} test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion") test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){
excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion") } plugins {
.... test ":spock:0.6" test ":geb:0.6.3" .... } On Thu, Jun 28, 2012 at 3:01 PM, Amit Jain <[hidden email]> wrote: Greetings! Thanks and regards, Ravi Teja |
|
Generate a dependecy report using `grails dependency-report` and check for conflicts. Since you've said it works fine on Mac and Windows, I cannot say dependency conflicts might be the issue. BTW what do you need the release plugin for, I didn't understand that statement you said?
Please do cross check though.
On Thu, Jun 28, 2012 at 5:29 PM, Raviteja Lokineni <[hidden email]> wrote: Works fine for me with: Thanks and regards, Ravi Teja |
|
Just to make sure - you also don't have the http-builder dependency in your project? This is typically the error you get for that or the release plugin being in your project. Look at the httpclient version being pulled in in the dependency report.
-Brian
On Thu, Jun 28, 2012 at 6:03 AM, Raviteja Lokineni <[hidden email]> wrote: Generate a dependecy report using `grails dependency-report` and check for conflicts. Since you've said it works fine on Mac and Windows, I cannot say dependency conflicts might be the issue. BTW what do you need the release plugin for, I didn't understand that statement you said? |
|
Thanks Ravi & Brian! It worked.
I had to do two things : 1. Removed/excluded release plugin (included via some other plugin dependencies) 2. Changed selenium dependencies as given below.
def gebVersion = "0.7.0" def seleniumVersion = "2.23.1"
dependencies { ... test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") {
excludes "xml-apis","commons-codec","commons-io" } test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion")
test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){ excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion")
} plugins { .... test ":spock:0.6"
test ":geb:$gebVersion"" .... } Thanks, On Thu, Jun 28, 2012 at 7:33 PM, Brian Saville <[hidden email]> wrote: Just to make sure - you also don't have the http-builder dependency in your project? This is typically the error you get for that or the release plugin being in your project. Look at the httpclient version being pulled in in the dependency report. Best Regards, Amit Jain IntelliGrape Software |
|
Apologies I missed two other dependencies
def gebVersion = "0.7.0" def seleniumVersion = "2.23.1" dependencies { ...
test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { excludes "xml-apis","commons-codec","commons-io"
} test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion") test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){
excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion") test "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
test( "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion" ) } plugins { .... test ":spock:0.6" test ":geb:$gebVersion"" .... }
On Fri, Jun 29, 2012 at 11:24 AM, Amit Jain <[hidden email]> wrote: Thanks Ravi & Brian! It worked. Best Regards, Amit Jain IntelliGrape Software |
|
Thank-you for sharing this.
I've never gotten Geb to work with my project. This has inspired me to give it another try. - Dean Del Ponte
On Fri, Jun 29, 2012 at 12:55 AM, Amit Jain <[hidden email]> wrote: Apologies I missed two other dependencies |
|
I tried to find the post that I used to figure it out, but couldnt find
it. So I figured Id post it here once again just to make sure its more places on the internet :) For the BuildConfig dependencies section (replace seleniumVersion and gebVersion with applicable values): compile (group:'net.sf.json-lib', name:'json-lib', version:'2.4', classifier:'jdk15') runtime("org.codehaus.groovy.modules.http-builder:http-builder:0.5.1") { excludes "commons-logging", "commons-codec", 'nekohtml', "httpclient", "httpcore", "xml-apis", "groovy" } provided('net.sourceforge.nekohtml:nekohtml:1.9.15') { excludes "xml-apis" } provided("org.apache.httpcomponents:httpclient:4.1.2") test "org.seleniumhq.selenium:selenium-support:$seleniumVersion", { excludes "junit" } test "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion", { excludes "commons-io", "httpclient" } test "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion", { excludes "commons-io", "httpclient" } test "org.codehaus.geb:geb-spock:$gebVersion" For the plugins section: build ':release:2.0.0', { excludes 'json-lib', 'http-builder', 'nekohtml' } The key here are the scopes that they are pulled in on - especially the provided dependencies if I remember correctly. This will enable Geb + Spock + Release plugin (or http-builder in general as long as it is not needed in the compile scope). Hope that helps, -Brian From: Dean Del Ponte [mailto:[hidden email]] Sent: Friday, June 29, 2012 12:41 PM To: [hidden email] Subject: Re: [grails-user] GEB + SPOCK + Selenium dependencies issue -- functional test cases failing on Ubuntu only Thank-you for sharing this. I've never gotten Geb to work with my project. This has inspired me to give it another try. - Dean Del Ponte On Fri, Jun 29, 2012 at 12:55 AM, Amit Jain <[hidden email]> wrote: Apologies I missed two other dependencies def gebVersion = "0.7.0" def seleniumVersion = "2.23.1" dependencies { ... test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { excludes "xml-apis","commons-codec","commons-io" } test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion") test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){ excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion") test "org.seleniumhq.selenium:selenium-support:$seleniumVersion" test( "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion" ) } plugins { .... test ":spock:0.6" test ":geb:$gebVersion"" .... } On Fri, Jun 29, 2012 at 11:24 AM, Amit Jain <[hidden email]> wrote: Thanks Ravi & Brian! It worked. I had to do two things : 1. Removed/excluded release plugin (included via some other plugin dependencies) 2. Changed selenium dependencies as given below. def gebVersion = "0.7.0" def seleniumVersion = "2.23.1" dependencies { ... test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { excludes "xml-apis","commons-codec","commons-io" } test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion") test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){ excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion") } plugins { .... test ":spock:0.6" test ":geb:$gebVersion"" .... } Thanks, On Thu, Jun 28, 2012 at 7:33 PM, Brian Saville <[hidden email]> wrote: Just to make sure - you also don't have the http-builder dependency in your project? This is typically the error you get for that or the release plugin being in your project. Look at the httpclient version being pulled in in the dependency report. -Brian On Thu, Jun 28, 2012 at 6:03 AM, Raviteja Lokineni <[hidden email]> wrote: Generate a dependecy report using `grails dependency-report` and check for conflicts. Since you've said it works fine on Mac and Windows, I cannot say dependency conflicts might be the issue. BTW what do you need the release plugin for, I didn't understand that statement you said? Please do cross check though. On Thu, Jun 28, 2012 at 5:29 PM, Raviteja Lokineni <[hidden email]> wrote: Works fine for me with: def gebVersion = "0.7.0" def seleniumVersion = "2.23.1" dependencies { ... test "org.codehaus.geb:geb-spock:$gebVersion" test("org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion") { excludes "xml-apis","commons-codec","commons-io" } test("org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion") test("org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"){ excludes "commons-io" } test("org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion") } plugins { .... test ":spock:0.6" test ":geb:0.6.3" .... } On Thu, Jun 28, 2012 at 3:01 PM, Amit Jain <[hidden email]> wrote: Greetings! I am facing issues with Geb tests. To my surprise, same test cases runs successfully on Windows7, Mac but it doesn't run on Ubuntu. I am using Grails 2.0.3 version, Ubuntu. And don't have release plugin installed. They fail with following exception : geb.driver.DriverCreationException: failed to create driver from callback 'script1340874319842807170554$_run_closure1@5eef03' at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:35 ) at geb.driver.CachingDriverFactory.getDriver_closure3(CachingDriverFactory.gr oovy:80) at geb.driver.CachingDriverFactory$SimpleCache.get(CachingDriverFactory.groov y:30) at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.groovy:79) at geb.Configuration.createDriver(Configuration.groovy:278) at geb.Configuration.getDriver(Configuration.groovy:267) at geb.Browser.getDriver(Browser.groovy:101) at geb.Browser.go(Browser.groovy:367) at geb.Page.to(Page.groovy:168) at geb.Browser.to(Browser.groovy:400) at geb.Browser.to(Browser.groovy:390) at geb.Browser.to(Browser.groovy:380) at geb.spock.GebSpec.methodMissing(GebSpec.groovy:51) at com.flint.grails.tac.geb.TacGebSpec.login(TacGebSpec.groovy:47) at com.flint.grails.tac.spec.ticketHeader.ListSpec.setupSpec(ListSpec.groovy: 18) Caused by: java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>(Ljava/lang/String;ILorg/apache/h ttp/conn/scheme/SchemeSocketFactory;)V at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionM anager(HttpClientFactory.java:59) at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFac tory.java:48) at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor. java:110) at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(N ewProfileExtensionConnection.java:77) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:2 16) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:93) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:155) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:151) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:89) at script1340874319842807170554.run_closure1(script1340874319842807170554.gro ovy:13) at geb.driver.CallbackDriverFactory.getDriver(CallbackDriverFactory.groovy:29 ) ... 14 more Here is my BuildConfig file : def gebVersion = '0.7.0' def spockVersion = '0.6' def seleniumVersion = '2.23.1' dependencies { ... test "org.seleniumhq.selenium:selenium-support:$seleniumVersion" test "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion" test "org.seleniumhq.selenium:selenium-htmlunit-driver:$seleniumVersion" test "org.codehaus.geb:geb-spock:$gebVersion" } plugins { .... test ":geb:$gebVersion" } Any help would be appreciated. -- Best Regards, Amit Jain IntelliGrape Software -- Thanks and regards, Ravi Teja -- Thanks and regards, Ravi Teja -- Best Regards, Amit Jain IntelliGrape Software -- Best Regards, Amit Jain IntelliGrape Software --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
| Powered by Nabble | Edit this page |
