From c3fc93e866c22be098ce67e22c0a0715a0c1a578 Mon Sep 17 00:00:00 2001 From: napoles Date: Wed, 25 Jan 2023 14:06:29 -0600 Subject: [PATCH 1/9] browserstack init configuration --- build.gradle | 19 ++----------------- src/test/resources/GebConfig.groovy | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/build.gradle b/build.gradle index 9028dfe..a0e2a20 100644 --- a/build.gradle +++ b/build.gradle @@ -4,24 +4,20 @@ 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"] - + drivers = ["chrome","firefox", "browserstack"] ext { groovyVersion = '2.4.12' gebVersion = '2.2' seleniumVersion = '3.6.0' - chromeDriverVersion = '97.0.4692.71' + chromeDriverVersion = '108.0.5359.71' 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 @@ -30,42 +26,32 @@ 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' @@ -73,7 +59,6 @@ tasks.withType(Test) { exceptionFormat = 'full' } } - tasks.withType(GroovyCompile) { groovyOptions.forkOptions.memoryMaximumSize = '256m' } diff --git a/src/test/resources/GebConfig.groovy b/src/test/resources/GebConfig.groovy index 5fe535f..4b37e87 100644 --- a/src/test/resources/GebConfig.groovy +++ b/src/test/resources/GebConfig.groovy @@ -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 @@ -45,6 +46,24 @@ environments { atCheckWaiting = 1 driver = { new FirefoxDriver() } } + + // run via “./gradlew browserstackTest + browserstack{ + String USERNAME = "juanpabloramos_QPwE5a"; + String AUTOMATE_KEY = "hHR5yaYHzrJM2L9U1sii"; + 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” From c47ec06b6f7264e985239c2ebb1a45aa7310f982 Mon Sep 17 00:00:00 2001 From: napoles Date: Wed, 25 Jan 2023 14:11:52 -0600 Subject: [PATCH 2/9] set broserstack as default --- mkcli.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mkcli.py b/mkcli.py index 80ca605..09daa4f 100644 --- a/mkcli.py +++ b/mkcli.py @@ -301,10 +301,11 @@ def run(args): def getBrowserName(browser): switcher = { "chrome":"chromeTest", - "firefox": "firefoxTest" + "firefox": "firefoxTest", + "browserstack": "browserstack" } #select a browser from the list or return firefox as default - return switcher.get(browser,"firefoxTest") + return switcher.get("browserstack") def main(): From 94c626001dcab095b5e836970422ffd59113582c Mon Sep 17 00:00:00 2001 From: napoles Date: Wed, 25 Jan 2023 14:59:59 -0600 Subject: [PATCH 3/9] fix folder name --- mkcli.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkcli.py b/mkcli.py index 09daa4f..f177787 100644 --- a/mkcli.py +++ b/mkcli.py @@ -76,7 +76,7 @@ def run(args): value = args.value noexec = args.noexec route = 'src/test/groovy' - browser = args.browser + browser = 'browserstack' # internal cloud only executionNumber = args.executionnumber or None scheduleExecutionNumber = args.scheduleexecutionnumber or None @@ -302,7 +302,7 @@ def getBrowserName(browser): switcher = { "chrome":"chromeTest", "firefox": "firefoxTest", - "browserstack": "browserstack" + "browserstack": "browserstackTest" } #select a browser from the list or return firefox as default return switcher.get("browserstack") From 8301f88a32bdc7df1f1b5b57ec8884280342748a Mon Sep 17 00:00:00 2001 From: napoles Date: Tue, 10 Oct 2023 17:33:28 -0600 Subject: [PATCH 4/9] Hardcode browserstack browser --- mkcli.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mkcli.py b/mkcli.py index f177787..2374bd6 100644 --- a/mkcli.py +++ b/mkcli.py @@ -76,6 +76,7 @@ def run(args): value = args.value noexec = args.noexec route = 'src/test/groovy' + # hardcoding to browserstack browser = 'browserstack' # internal cloud only executionNumber = args.executionnumber or None From ccc6e3e2f9fb9454dd0c6aa92c291c68084c07d9 Mon Sep 17 00:00:00 2001 From: napoles Date: Tue, 10 Oct 2023 18:11:02 -0600 Subject: [PATCH 5/9] Adding browserstack --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index a0e2a20..1e2cbde 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { id "com.energizedwork.idea-base" version "1.4" } ext { - // The drivers we want to use + // The drivers we want to use, addingn browserstack drivers = ["chrome","firefox", "browserstack"] ext { groovyVersion = '2.4.12' From 5d14fe208cad61f691c4c63a83c060b4292bd316 Mon Sep 17 00:00:00 2001 From: Naps <89811779+napoles-mk@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:29:53 -0600 Subject: [PATCH 6/9] Use browserstack as default --- mkcli.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkcli.py b/mkcli.py index 2374bd6..1571458 100644 --- a/mkcli.py +++ b/mkcli.py @@ -77,7 +77,7 @@ def run(args): noexec = args.noexec route = 'src/test/groovy' # hardcoding to browserstack - browser = 'browserstack' + browser = args.browser # internal cloud only executionNumber = args.executionnumber or None scheduleExecutionNumber = args.scheduleexecutionnumber or None @@ -302,11 +302,11 @@ 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("browserstack") + return switcher.get(browser,"firefox") def main(): From a259d5993253f0fb69a4bf2b4aefe0c846d4764a Mon Sep 17 00:00:00 2001 From: Naps <89811779+napoles-mk@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:31:11 -0600 Subject: [PATCH 7/9] Update GebConfig.groovy --- src/test/resources/GebConfig.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/resources/GebConfig.groovy b/src/test/resources/GebConfig.groovy index 4b37e87..1f1b90e 100644 --- a/src/test/resources/GebConfig.groovy +++ b/src/test/resources/GebConfig.groovy @@ -49,8 +49,8 @@ environments { // run via “./gradlew browserstackTest browserstack{ - String USERNAME = "juanpabloramos_QPwE5a"; - String AUTOMATE_KEY = "hHR5yaYHzrJM2L9U1sii"; + String USERNAME = "user"; + String AUTOMATE_KEY = "automatekey"; String URL = "https://" + USERNAME + ":" + AUTOMATE_KEY + "@hub-cloud.browserstack.com/wd/hub"; driver = { DesiredCapabilities caps = new DesiredCapabilities(); From d6ab8da1bd5f02016d495c44813704ab9ea2a70c Mon Sep 17 00:00:00 2001 From: Naps <89811779+napoles-mk@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:42:05 -0600 Subject: [PATCH 8/9] Update build.gradle --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 1e2cbde..33b6f6f 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ ext { groovyVersion = '2.4.12' gebVersion = '2.2' seleniumVersion = '3.6.0' - chromeDriverVersion = '108.0.5359.71' + chromeDriverVersion = '97.0.4692.71' geckoDriverVersion = '0.23.0' } } From f539608d1ff9a76555610cc5865cf660d9f8eb54 Mon Sep 17 00:00:00 2001 From: Naps <89811779+napoles-mk@users.noreply.github.com> Date: Tue, 10 Oct 2023 19:58:32 -0600 Subject: [PATCH 9/9] Update mkcli.py --- mkcli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkcli.py b/mkcli.py index 1571458..b0130d9 100644 --- a/mkcli.py +++ b/mkcli.py @@ -306,7 +306,7 @@ def getBrowserName(browser): "browserstack": "browserstackTest" } #select a browser from the list or return firefox as default - return switcher.get(browser,"firefox") + return switcher.get(browser,"firefoxTest") def main():