Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 2 additions & 17 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ plugins {
id "com.energizedwork.webdriver-binaries" version "1.4"
id "com.energizedwork.idea-base" version "1.4"
}

ext {
// The drivers we want to use
drivers = ["chrome","firefox"]

// The drivers we want to use, addingn browserstack
drivers = ["chrome","firefox", "browserstack"]
ext {
groovyVersion = '2.4.12'
gebVersion = '2.2'
Expand All @@ -17,11 +15,9 @@ ext {
geckoDriverVersion = '0.23.0'
}
}

repositories {
mavenCentral()
}

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.6'
// If using Spock, need to depend on geb-spock
Expand All @@ -30,50 +26,39 @@ dependencies {
exclude group: "org.codehaus.groovy"
}
testCompile "org.codehaus.groovy:groovy-all:$groovyVersion"

// If using JUnit, need to depend on geb-junit (3 or 4)
testCompile "org.gebish:geb-junit4:$gebVersion"

// Drivers
testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"

compile group: 'org.seleniumhq.selenium', name: 'selenium-support', version: '3.14.0'

// JSON simple for MuukReport
implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'

}

webdriverBinaries {
chromedriver chromeDriverVersion
geckodriver geckoDriverVersion
}

drivers.each { driver ->
task "${driver}Test"(type: Test) {
group JavaBasePlugin.VERIFICATION_GROUP

outputs.upToDateWhen { false } // Always run tests

systemProperty "geb.build.reportsDir", reporting.file("geb/$name")
systemProperty "geb.env", driver
}
}

test {
dependsOn drivers.collect { tasks["${it}Test"] }
enabled = false
}

tasks.withType(Test) {
maxHeapSize = "1g"
jvmArgs '-XX:MaxMetaspaceSize=128m'
testLogging {
exceptionFormat = 'full'
}
}

tasks.withType(GroovyCompile) {
groovyOptions.forkOptions.memoryMaximumSize = '256m'
}
4 changes: 3 additions & 1 deletion mkcli.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ def run(args):
value = args.value
noexec = args.noexec
route = 'src/test/groovy'
# hardcoding to browserstack
browser = args.browser
# internal cloud only
executionNumber = args.executionnumber or None
Expand Down Expand Up @@ -301,7 +302,8 @@ def run(args):
def getBrowserName(browser):
switcher = {
"chrome":"chromeTest",
"firefox": "firefoxTest"
"firefox": "browserstackTest",
"browserstack": "browserstackTest"
}
#select a browser from the list or return firefox as default
return switcher.get(browser,"firefoxTest")
Expand Down
19 changes: 19 additions & 0 deletions src/test/resources/GebConfig.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.remote.DesiredCapabilities
import org.openqa.selenium.remote.CapabilityType
import org.openqa.selenium.remote.RemoteWebDriver

waiting {
timeout = 20
Expand Down Expand Up @@ -45,6 +46,24 @@ environments {
atCheckWaiting = 1
driver = { new FirefoxDriver() }
}

// run via “./gradlew browserstackTest
browserstack{
String USERNAME = "user";
String AUTOMATE_KEY = "automatekey";
String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY + "@hub-cloud.browserstack.com/wd/hub";
driver = {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("os", "Windows");
caps.setCapability("os_version", "10");
caps.setCapability("browser", "Chrome");
caps.setCapability("browser_version", "107.0");
caps.setCapability("browserstack.local", "false");
caps.setCapability("browserstack.debug", "true");
caps.setCapability("browserstack.selenium_version", "3.6.0");
new RemoteWebDriver(new URL(URL), caps);
}
}
}

// To run the tests with all browsers just run “./gradlew test”
Expand Down