My tests are working locally, although I have to use the bonigarcia
WebDriverManager to retrieve a Chromedriver locally:
WebDriverManager.chromedriver().version('2.35').setup()
In my build.gradle file I want to set up an Internet Explorer browser in
the remote SauceLabs instance:
sauceLabs {
browsers {
create('internet explorer') {
capabilities platform: 'Windows 7', browserVersion: '11'
}
task {
}
account {
def username = System.getenv('SAUCE_USERNAME')
def accessKey = System.getenv('SAUCE_ACCESS_KEY')
}
}
}
and my GebConfig.groovy looks like this
baseUrl = 'https://www.domain.com'
reportsDir = 'build/reports/tests/geb'
def sauceLabsBrowser = System.getProperty('geb.saucelabs.browser')
if (sauceLabsBrowser) {
println 'Got a SauceLabs browser'
driver = {
def username = System.getenv('SAUCE_USERNAME')
assert username
def saucelabsKey = System.getenv('SAUCE_ACCESS_KEY')
assert saucelabsKey
new SauceLabsDriverFactory().create(sauceLabsBrowser, username,
saucelabsKey)
}
} else {
println 'Attempting to get a local webdriver'
// WebDriverManager.chromedriver().version('2.35').setup()
}
When I push my code to my company's GitLab instance, I get the following
stack trace:
tests.TestClass > classMethod FAILED
java.lang.IllegalStateException: The path to the driver executable must
be set by the webdriver.chrome.driver system property; for more information,
see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest
version can be downloaded from
http://chromedriver.storage.googleapis.com/index.html
at com.google.common.base.Preconditions.checkState(Preconditions.
java:847)
at org.openqa.selenium.remote.service.DriverService.findExecutable(
DriverService.java:134)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(
ChromeDriverService.java:35)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.
findDefaultExecutable(ChromeDriverService.java:159)
at org.openqa.selenium.remote.service.DriverService$Builder.build(
DriverService.java:355)
at org.openqa.selenium.chrome.ChromeDriverService.
createDefaultService(ChromeDriverService.java:94)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:
123)
at geb.driver.NameBasedDriverFactory.getDriver(
NameBasedDriverFactory.groovy:44)
at geb.driver.CachingDriverFactory.getDriver_closure4(
CachingDriverFactory.groovy:57)
at geb.driver.CachingDriverFactory.getDriver_closure4(
CachingDriverFactory.groovy)
at geb.driver.CachingDriverFactory$SimpleCache.get(
CachingDriverFactory.groovy:81)
at geb.driver.CachingDriverFactory.getDriver(CachingDriverFactory.
groovy:56)
at geb.Configuration.createDriver(Configuration.groovy:675)
at geb.Configuration.getDriver(Configuration.groovy:353)
at geb.Browser.getDriver(Browser.groovy:160)
at geb.navigator.factory.BrowserBackedNavigatorFactory.<init>(
BrowserBackedNavigatorFactory.groovy:31)
at geb.Configuration.createNavigatorFactory(Configuration.groovy:413
)
at geb.Browser.createNavigatorFactory(Browser.groovy:982)
at geb.Browser.getNavigatorFactory(Browser.groovy:170)
at geb.Page.init(Page.groovy:140)
at geb.Browser.initialisePage(Browser.groovy:1116)
at geb.Browser.createPage(Browser.groovy:829)
at geb.Browser.to(Browser.groovy:537)
at geb.Browser.to(Browser.groovy:526)
at geb.spock.GebSpec.methodMissing(GebSpec.groovy:60)
at login.LoginTrait$Trait$Helper.logIn(LoginTrait.groovy:7)
at tests.TestClass.setupSpec(TestClass.groovy:8)
So I have two questions:
1. Why is it trying to retrieve a Chrome webdriver in the CI pipeline
when my buildscript specifies Internet Explorer?
2. Am I setting everything up as expected? I left out the sauceLabs.task
closure because I was getting Gradle errors on e.g. test.testClassesDir
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/geb-user/7545c8f8-e510-4065-8d3c-7c29b67304b0%40googlegroups.com.