From feba58d19f33661a500f70aab73b957646c5b3ad Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 1 Nov 2025 21:36:40 +0530 Subject: [PATCH 01/21] clean repo --- .gitignore | 1 + README.md | 8 ++--- browserstack.yml | 3 -- build.gradle | 18 ++---------- config/sample-local-test.testng.xml | 10 ------- config/sample-test.testng.xml | 4 +-- pom.xml | 26 ++--------------- .../java/com/browserstack/BStackDemoTest.java | 29 ------------------- .../com/browserstack/BStackLocalTest.java | 14 --------- .../java/com/browserstack/NOWDemoTest.java | 15 ++++++++++ .../java/com/browserstack/SeleniumTest.java | 2 +- 11 files changed, 28 insertions(+), 102 deletions(-) delete mode 100644 config/sample-local-test.testng.xml delete mode 100644 src/test/java/com/browserstack/BStackDemoTest.java delete mode 100644 src/test/java/com/browserstack/BStackLocalTest.java create mode 100644 src/test/java/com/browserstack/NOWDemoTest.java diff --git a/.gitignore b/.gitignore index 4e96e650..c1b446e8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ gradlew gradlew.bat logs browserstack.err +log diff --git a/README.md b/README.md index 5a7e4fee..e413e971 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,6 @@ - Replace YOUR_USERNAME and YOUR_ACCESS_KEY with your BrowserStack access credentials in browserstack.yml. - Install dependencies `mvn compile` - To run the test suite having cross-platform with parallelization, run `mvn test -P sample-test` -- To run local tests, run `mvn test -P sample-local-test` Understand how many parallel sessions you need by using our [Parallel Test Calculator](https://www.browserstack.com/automate/parallel-calculator?ref=github) @@ -30,7 +29,7 @@ This repository uses the BrowserStack SDK to run tests on BrowserStack. Follow t compile ``` -* Modify your build plugin to run tests by adding argLine `-javaagent:${com.browserstack:browserstack-java-sdk:jar}` and `maven-dependency-plugin` for resolving dependencies in the profiles `sample-test` and `sample-local-test`. +* Modify your build plugin to run tests by adding argLine `-javaagent:${com.browserstack:browserstack-java-sdk:jar}` and `maven-dependency-plugin` for resolving dependencies in the profiles `sample-test`. ``` maven-dependency-plugin @@ -49,7 +48,7 @@ This repository uses the BrowserStack SDK to run tests on BrowserStack. Follow t 3.0.0-M5 - config/sample-local-test.testng.xml + config/sample-test.testng.xml -javaagent:${com.browserstack:browserstack-java-sdk:jar} @@ -69,7 +68,6 @@ This repository uses the BrowserStack SDK to run tests on BrowserStack. Follow t - Clone the repository - Install dependencies `gradle build` - To run the test suite having cross-platform with parallelization, run `gradle sampleTest` -- To run local tests, run `gradle sampleLocalTest` Understand how many parallel sessions you need by using our [Parallel Test Calculator](https://www.browserstack.com/automate/parallel-calculator?ref=github) @@ -79,7 +77,7 @@ This repository uses the BrowserStack SDK to run tests on BrowserStack. Follow t * Following are the changes required in `gradle.build` - * Add `compileOnly 'com.browserstack:browserstack-java-sdk:latest.release'` in dependencies - * Fetch Artifact Information and add `jvmArgs` property in tasks *SampleTest* and *SampleLocalTest* : + * Fetch Artifact Information and add `jvmArgs` property in tasks *SampleTest* : ``` def browserstackSDKArtifact = configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts.find { it.name == 'browserstack-java-sdk' } diff --git a/browserstack.yml b/browserstack.yml index 210b867c..a6a0f364 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -38,9 +38,6 @@ platforms: osVersion: 10 browserName: Edge browserVersion: latest - - deviceName: Samsung Galaxy S22 Ultra - browserName: chrome # Try 'samsung' for Samsung browser - osVersion: 12.0 # ======================= # Parallels per Platform diff --git a/build.gradle b/build.gradle index c46b782f..b69a7c9c 100644 --- a/build.gradle +++ b/build.gradle @@ -5,18 +5,15 @@ plugins { repositories { mavenCentral() } dependencies { - implementation 'org.testng:testng:7.4.0' - implementation 'commons-io:commons-io:1.3.2' + testImplementation 'org.testng:testng:7.7.1' implementation 'org.seleniumhq.selenium:selenium-java:4.1.4' - implementation 'com.browserstack:browserstack-local-java:1.0.6' implementation 'com.googlecode.json-simple:json-simple:1.1.1' compileOnly 'com.browserstack:browserstack-java-sdk:latest.release' } - group = 'com.browserstack' version = '1.0-SNAPSHOT' -description = 'testng-browserstack' -sourceCompatibility = '1.8' +description = 'now-testng-browserstack' +sourceCompatibility = '11' def browserstackSDKArtifact = configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts.find { it.name == 'browserstack-java-sdk' } @@ -36,12 +33,3 @@ task sampleTest(type: Test) { jvmArgs "-javaagent:${browserstackSDKArtifact.file}" } } - -task sampleLocalTest(type: Test) { - useTestNG() { - dependsOn cleanTest - useDefaultListeners = true - suites "config/sample-local-test.testng.xml" - jvmArgs "-javaagent:${browserstackSDKArtifact.file}" - } -} diff --git a/config/sample-local-test.testng.xml b/config/sample-local-test.testng.xml deleted file mode 100644 index 5f776a44..00000000 --- a/config/sample-local-test.testng.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/config/sample-test.testng.xml b/config/sample-test.testng.xml index 0fff5a48..3af55e42 100644 --- a/config/sample-test.testng.xml +++ b/config/sample-test.testng.xml @@ -1,9 +1,9 @@ - + - + diff --git a/pom.xml b/pom.xml index fcef07c1..5cfa0755 100644 --- a/pom.xml +++ b/pom.xml @@ -12,9 +12,9 @@ UTF-8 - 1.8 - 1.8 - 7.4.0 + 11 + 11 + 7.7.1 2.19.1 4.1.4 1.1.1 @@ -78,26 +78,6 @@ - - sample-local-test - - - - org.apache.maven.plugins - maven-surefire-plugin - - - config/sample-local-test.testng.xml - - - -javaagent:${com.browserstack:browserstack-java-sdk:jar} - - - - - - - sample-test diff --git a/src/test/java/com/browserstack/BStackDemoTest.java b/src/test/java/com/browserstack/BStackDemoTest.java deleted file mode 100644 index 8ce65cf8..00000000 --- a/src/test/java/com/browserstack/BStackDemoTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.browserstack; - -import com.browserstack.SeleniumTest; -import org.openqa.selenium.By; -import org.testng.Assert; -import org.testng.annotations.Test; - -public class BStackDemoTest extends SeleniumTest { - @Test - public void addProductToCart() throws Exception { - // navigate to bstackdemo - driver.get("https://www.bstackdemo.com"); - - // Check the title - Assert.assertTrue(driver.getTitle().matches("StackDemo")); - - // Save the text of the product for later verify - String productOnScreenText = driver.findElement(By.xpath("//*[@id=\"1\"]/p")).getText(); - // Click on add to cart button - driver.findElement(By.xpath("//*[@id=\"1\"]/div[4]")).click(); - - // See if the cart is opened or not - Assert.assertTrue(driver.findElement(By.cssSelector(".float\\-cart__content")).isDisplayed()); - - // Check the product inside the cart is same as of the main page - String productOnCartText = driver.findElement(By.xpath("//*[@id=\"__next\"]/div/div/div[2]/div[2]/div[2]/div/div[3]/p[1]")).getText(); - Assert.assertEquals(productOnScreenText, productOnCartText); - } -} diff --git a/src/test/java/com/browserstack/BStackLocalTest.java b/src/test/java/com/browserstack/BStackLocalTest.java deleted file mode 100644 index 4639bd9a..00000000 --- a/src/test/java/com/browserstack/BStackLocalTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.browserstack; - -import org.testng.Assert; -import org.testng.annotations.Test; - -public class BStackLocalTest extends SeleniumTest { - - @Test - public void test() throws Exception { - driver.get("http://bs-local.com:45454/"); - - Assert.assertTrue(driver.getTitle().contains("BrowserStack Local")); - } -} diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java new file mode 100644 index 00000000..6676c668 --- /dev/null +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -0,0 +1,15 @@ +package com.browserstack; +import org.openqa.selenium.By; +import org.testng.Assert; +import org.testng.annotations.Test; +import com.browserstack.SeleniumTest; + +public class NOWDemoTest extends SeleniumTest { + @Test + public void addProductToCart() throws Exception { + driver.get("https://www.bstackdemo.com"); + + // Check the title. Always passes. + Assert.assertTrue(driver.getTitle().matches(driver.getTitle())); + } +} diff --git a/src/test/java/com/browserstack/SeleniumTest.java b/src/test/java/com/browserstack/SeleniumTest.java index 0d8d717c..8bd9d4f9 100644 --- a/src/test/java/com/browserstack/SeleniumTest.java +++ b/src/test/java/com/browserstack/SeleniumTest.java @@ -21,4 +21,4 @@ public void setUp() throws Exception { public void tearDown() throws Exception { driver.quit(); } -} +} \ No newline at end of file From 67467704516350a419620a4011d7d4c08a0a8ba5 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 1 Nov 2025 21:41:08 +0530 Subject: [PATCH 02/21] clean repo readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e413e971..e38248df 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# testng-browserstack +# now-testng-browserstack [TestNG](http://testng.org) Integration with BrowserStack. From a7585e6cd62daf056b69549fa1b517d319f53e81 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 1 Nov 2025 23:42:15 +0530 Subject: [PATCH 03/21] testName --- src/test/java/com/browserstack/NOWDemoTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 6676c668..5a33ff95 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -6,7 +6,7 @@ public class NOWDemoTest extends SeleniumTest { @Test - public void addProductToCart() throws Exception { + public void openTestPage() throws Exception { driver.get("https://www.bstackdemo.com"); // Check the title. Always passes. From 094120d55b97b451e81994895d30d15ba063a452 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sun, 2 Nov 2025 00:57:25 +0530 Subject: [PATCH 04/21] check domain --- src/test/java/com/browserstack/NOWDemoTest.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 5a33ff95..4e732550 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -9,7 +9,9 @@ public class NOWDemoTest extends SeleniumTest { public void openTestPage() throws Exception { driver.get("https://www.bstackdemo.com"); - // Check the title. Always passes. - Assert.assertTrue(driver.getTitle().matches(driver.getTitle())); + String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); + + // Check the title. + Assert.assertTrue(driver.getTitle().toString().contains(webDomainFromEnv)); } } From 1e8415a829a8b7f6acd4a80bb6a9cc8e651ca138 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sun, 2 Nov 2025 01:21:41 +0530 Subject: [PATCH 05/21] added assertions --- src/test/java/com/browserstack/NOWDemoTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 4e732550..20f47ff7 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -10,8 +10,11 @@ public void openTestPage() throws Exception { driver.get("https://www.bstackdemo.com"); String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); - + System.out.println("Web Domain from Env: " + webDomainFromEnv); + Assert.assertTrue(driver.getPageSource().length() > 100); // Check the title. - Assert.assertTrue(driver.getTitle().toString().contains(webDomainFromEnv)); + String pageTitle = driver.getTitle(); + System.out.println("Page title is: " + pageTitle); + Assert.assertTrue(pageTitle.contains(webDomainFromEnv)); } } From 9ad7138db87e4d37bedf901063bb09165bd7db88 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Mon, 3 Nov 2025 19:21:11 +0530 Subject: [PATCH 06/21] dynamic repo url --- src/test/java/com/browserstack/NOWDemoTest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 20f47ff7..50de75d4 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -7,10 +7,11 @@ public class NOWDemoTest extends SeleniumTest { @Test public void openTestPage() throws Exception { - driver.get("https://www.bstackdemo.com"); - + String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); System.out.println("Web Domain from Env: " + webDomainFromEnv); + driver.get(NOW_WEB_DOMAIN); + Assert.assertTrue(driver.getPageSource().length() > 100); // Check the title. String pageTitle = driver.getTitle(); From 56cc4d2e297a17adc6e9d35e01241d4bd701f998 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Mon, 3 Nov 2025 19:25:55 +0530 Subject: [PATCH 07/21] dynamic repo url --- src/test/java/com/browserstack/NOWDemoTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 50de75d4..27d7e85b 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -10,7 +10,7 @@ public void openTestPage() throws Exception { String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); System.out.println("Web Domain from Env: " + webDomainFromEnv); - driver.get(NOW_WEB_DOMAIN); + driver.get(webDomainFromEnv); Assert.assertTrue(driver.getPageSource().length() > 100); // Check the title. From 31e089cef9c3ec5ed39323c1ab992266eb50944f Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Mon, 3 Nov 2025 19:45:07 +0530 Subject: [PATCH 08/21] remove title check --- src/test/java/com/browserstack/NOWDemoTest.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 27d7e85b..410b8bb1 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -13,9 +13,5 @@ public void openTestPage() throws Exception { driver.get(webDomainFromEnv); Assert.assertTrue(driver.getPageSource().length() > 100); - // Check the title. - String pageTitle = driver.getTitle(); - System.out.println("Page title is: " + pageTitle); - Assert.assertTrue(pageTitle.contains(webDomainFromEnv)); } } From e4731cf985237af0bd5dfb2130af67b0add059c2 Mon Sep 17 00:00:00 2001 From: Rayan Bhat Date: Fri, 7 Nov 2025 00:53:11 +0530 Subject: [PATCH 09/21] env variable changes --- browserstack.yml | 86 +++++------------------------------------------- 1 file changed, 9 insertions(+), 77 deletions(-) diff --git a/browserstack.yml b/browserstack.yml index a6a0f364..c2779d15 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -1,79 +1,11 @@ -# ============================= -# Set BrowserStack Credentials -# ============================= -# Add your BrowserStack userName and accessKey here or set BROWSERSTACK_USERNAME and -# BROWSERSTACK_ACCESS_KEY as env variables -userName: YOUR_USERNAME -accessKey: YOUR_ACCESS_KEY - -# ====================== -# BrowserStack Reporting -# ====================== -# The following capabilities are used to set up reporting on BrowserStack: -# Set 'projectName' to the name of your project. Example, Marketing Website -projectName: BrowserStack Samples -# Set `buildName` as the name of the job / testsuite being run -buildName: browserstack build -# `buildIdentifier` is a unique id to differentiate every execution that gets appended to -# buildName. Choose your buildIdentifier format from the available expressions: -# ${BUILD_NUMBER} (Default): Generates an incremental counter with every execution -# ${DATE_TIME}: Generates a Timestamp with every execution. Eg. 05-Nov-19:30 -# Read more about buildIdentifiers here -> https://www.browserstack.com/docs/automate/selenium/organize-tests -buildIdentifier: '#${BUILD_NUMBER}' # Supports strings along with either/both ${expression} -# Set `framework` of your test suite. Example, `testng`, `cucumber`, `cucumber-testng` -# This property is needed to send test context to BrowserStack (test name, status) +userName: $BROWSERSTACK_USERNAME +accessKey: $BROWSERSTACK_ACCESS_KEY framework: testng - -# ======================================= -# Platforms (Browsers / Devices to test) -# ======================================= -# Platforms object contains all the browser / device combinations you want to test on. -# Entire list available here -> (https://www.browserstack.com/list-of-browsers-and-platforms/automate) +browserstackLocal: ${BROWSERSTACK_LOCAL} +buildName: now-testng-java-web +projectName: NOW-Web-Test +percy: true +accessibility: true platforms: - - os: OS X - osVersion: Big Sur - browserName: Chrome - browserVersion: latest - - os: Windows - osVersion: 10 - browserName: Edge - browserVersion: latest - -# ======================= -# Parallels per Platform -# ======================= -# The number of parallel threads to be used for each platform set. -# BrowserStack's SDK runner will select the best strategy based on the configured value -# -# Example 1 - If you have configured 3 platforms and set `parallelsPerPlatform` as 2, a total of 6 (2 * 3) parallel threads will be used on BrowserStack -# -# Example 2 - If you have configured 1 platform and set `parallelsPerPlatform` as 5, a total of 5 (1 * 5) parallel threads will be used on BrowserStack -parallelsPerPlatform: 1 - -source: testng:sample-master:v1.1 - -# ========================================== -# BrowserStack Local -# (For localhost, staging/private websites) -# ========================================== -# Set browserStackLocal to true if your website under test is not accessible publicly over the internet -# Learn more about how BrowserStack Local works here -> https://www.browserstack.com/docs/automate/selenium/local-testing-introduction -browserstackLocal: true # (Default false) - -# Options to be passed to BrowserStack local in-case of advanced configurations -# browserStackLocalOptions: - # localIdentifier: # (Default: null) Needed if you need to run multiple instances of local. - # forceLocal: true # (Default: false) Set to true if you need to resolve all your traffic via BrowserStack Local tunnel. - # Entire list of arguments available here -> https://www.browserstack.com/docs/automate/selenium/manage-incoming-connections - -# =================== -# Debugging features -# =================== -debug: false # # Set to true if you need screenshots for every selenium command ran -networkLogs: false # Set to true to enable HAR logs capturing -consoleLogs: errors # Remote browser's console debug levels to be printed (Default: errors) -# Available options are `disable`, `errors`, `warnings`, `info`, `verbose` (Default: errors) - -# Test Observability is an intelligent test reporting & debugging product. It collects data using the SDK. Read more about what data is collected at https://www.browserstack.com/docs/test-observability/references/terms-and-conditions -# Visit observability.browserstack.com to see your test reports and insights. To disable test observability, specify `testObservability: false` in the key below. -testObservability: true + ${BSTACK_PLATFORMS} +parallelsPerPlatform: ${BSTACK_PARALLELS} \ No newline at end of file From 5dab65db91843c5b9716c022c55e7b3f893fb6c7 Mon Sep 17 00:00:00 2001 From: Rayan Bhat Date: Fri, 7 Nov 2025 01:10:12 +0530 Subject: [PATCH 10/21] .yml changes --- browserstack.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/browserstack.yml b/browserstack.yml index c2779d15..8664ac3f 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -6,6 +6,4 @@ buildName: now-testng-java-web projectName: NOW-Web-Test percy: true accessibility: true -platforms: - ${BSTACK_PLATFORMS} -parallelsPerPlatform: ${BSTACK_PARALLELS} \ No newline at end of file +parallelsPerPlatform: ${BSTACK_PARALLELS} From 2c09de92e4cd7aa9ffd38f8b7e94af523074666d Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 8 Nov 2025 00:51:34 +0530 Subject: [PATCH 11/21] a11y and percy flags in yml --- browserstack.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/browserstack.yml b/browserstack.yml index 8664ac3f..aad54b7e 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -5,5 +5,17 @@ browserstackLocal: ${BROWSERSTACK_LOCAL} buildName: now-testng-java-web projectName: NOW-Web-Test percy: true +percyCaptureMode: auto +debug: true +networkLogs: true +consoleLogs: verbose accessibility: true +accessibilityOptions: + wcagVersion: wcag21aaa # Default: wcag21aa + includeIssueType: + bestPractice: true # Default: false + needsReview: true # Default: true + experimental: false # Default: true + advanced: false parallelsPerPlatform: ${BSTACK_PARALLELS} + From 011e5be1c134424d67e0a6b73b9aa91a64238d1e Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 8 Nov 2025 01:16:35 +0530 Subject: [PATCH 12/21] performance flags in yml --- browserstack.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/browserstack.yml b/browserstack.yml index aad54b7e..74f6dbf8 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -9,6 +9,7 @@ percyCaptureMode: auto debug: true networkLogs: true consoleLogs: verbose +performance: report accessibility: true accessibilityOptions: wcagVersion: wcag21aaa # Default: wcag21aa From 6f860e338bb272b1337af3482b9ae2e188417862 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sat, 8 Nov 2025 02:05:24 +0530 Subject: [PATCH 13/21] bump versions --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 5cfa0755..1c2f64f0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,9 +14,9 @@ UTF-8 11 11 - 7.7.1 - 2.19.1 - 4.1.4 + 7.11.0 + 3.2.2 + 4.38.0 1.1.1 config/sample-test.testng.xml From 0772f5e3a5e88530418a195b34bacd454043e945 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Fri, 14 Nov 2025 16:55:00 +0530 Subject: [PATCH 14/21] print yml --- browserstack.yml | 3 +-- src/test/java/com/browserstack/NOWDemoTest.java | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/browserstack.yml b/browserstack.yml index 74f6dbf8..7dd324ec 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -18,5 +18,4 @@ accessibilityOptions: needsReview: true # Default: true experimental: false # Default: true advanced: false -parallelsPerPlatform: ${BSTACK_PARALLELS} - +parallelsPerPlatform: ${BSTACK_PARALLELS} \ No newline at end of file diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 410b8bb1..b63f6381 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -3,10 +3,15 @@ import org.testng.Assert; import org.testng.annotations.Test; import com.browserstack.SeleniumTest; +import java.nio.file.Files; +import java.nio.file.Paths; public class NOWDemoTest extends SeleniumTest { @Test public void openTestPage() throws Exception { + + String content = new String(Files.readAllBytes(Paths.get("browserstack.yml"))); + System.out.println(content); String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); System.out.println("Web Domain from Env: " + webDomainFromEnv); From ce56064f009c1a9624145c9119738b3cb42be4ab Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Fri, 14 Nov 2025 17:13:31 +0530 Subject: [PATCH 15/21] platforms key --- browserstack.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/browserstack.yml b/browserstack.yml index 7dd324ec..3732eb5a 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -18,4 +18,5 @@ accessibilityOptions: needsReview: true # Default: true experimental: false # Default: true advanced: false -parallelsPerPlatform: ${BSTACK_PARALLELS} \ No newline at end of file +parallelsPerPlatform: ${BSTACK_PARALLELS} +platforms: \ No newline at end of file From 8beb573344d70868e6bb39d8cde40a385718fba8 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Fri, 14 Nov 2025 17:21:33 +0530 Subject: [PATCH 16/21] platforms key remove --- browserstack.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/browserstack.yml b/browserstack.yml index 3732eb5a..f3dfc305 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -19,4 +19,3 @@ accessibilityOptions: experimental: false # Default: true advanced: false parallelsPerPlatform: ${BSTACK_PARALLELS} -platforms: \ No newline at end of file From ffbca802dab029815cedd03559d76a9414be3194 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sun, 16 Nov 2025 13:13:59 +0530 Subject: [PATCH 17/21] env vars --- browserstack.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/browserstack.yml b/browserstack.yml index f3dfc305..a526624a 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -2,10 +2,10 @@ userName: $BROWSERSTACK_USERNAME accessKey: $BROWSERSTACK_ACCESS_KEY framework: testng browserstackLocal: ${BROWSERSTACK_LOCAL} -buildName: now-testng-java-web -projectName: NOW-Web-Test +buildName: ${BROWSERSTACK_BUILD_NAME} +projectName: ${BROWSERSTACK_PROJECT_NAME} percy: true -percyCaptureMode: auto +percyCaptureMode: testcase debug: true networkLogs: true consoleLogs: verbose From 36c8b0779a437ff6e994e1b7bd84fc5733d78427 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sun, 16 Nov 2025 13:41:47 +0530 Subject: [PATCH 18/21] testng changes --- browserstack.yml | 1 + src/test/java/com/browserstack/NOWDemoTest.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/browserstack.yml b/browserstack.yml index a526624a..c4fd83f6 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -3,6 +3,7 @@ accessKey: $BROWSERSTACK_ACCESS_KEY framework: testng browserstackLocal: ${BROWSERSTACK_LOCAL} buildName: ${BROWSERSTACK_BUILD_NAME} +source: ${BROWSERSTACK_BUILD_NAME} projectName: ${BROWSERSTACK_PROJECT_NAME} percy: true percyCaptureMode: testcase diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index b63f6381..3edc4811 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -13,9 +13,9 @@ public void openTestPage() throws Exception { String content = new String(Files.readAllBytes(Paths.get("browserstack.yml"))); System.out.println(content); - String webDomainFromEnv = System.getenv("NOW_WEB_DOMAIN"); - System.out.println("Web Domain from Env: " + webDomainFromEnv); - driver.get(webDomainFromEnv); + String webEndpointFromEnv = System.getenv("CX_TEST_URL"); + System.out.println("CX_TEST_URL from Env: " + webEndpointFromEnv); + driver.get(webEndpointFromEnv); Assert.assertTrue(driver.getPageSource().length() > 100); } From cc9693ab5f8eee8ded603f8d0e09fbf1a50d355f Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Sun, 16 Nov 2025 15:37:45 +0530 Subject: [PATCH 19/21] read url from env --- src/test/java/com/browserstack/NOWDemoTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/browserstack/NOWDemoTest.java b/src/test/java/com/browserstack/NOWDemoTest.java index 3edc4811..c7d1b36b 100644 --- a/src/test/java/com/browserstack/NOWDemoTest.java +++ b/src/test/java/com/browserstack/NOWDemoTest.java @@ -13,7 +13,7 @@ public void openTestPage() throws Exception { String content = new String(Files.readAllBytes(Paths.get("browserstack.yml"))); System.out.println(content); - String webEndpointFromEnv = System.getenv("CX_TEST_URL"); + String webEndpointFromEnv = System.getenv().getOrDefault("CX_TEST_URL", "https://bstackdemo.com"); System.out.println("CX_TEST_URL from Env: " + webEndpointFromEnv); driver.get(webEndpointFromEnv); From 818bed18234cca05a681ea7754af5349291c4130 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Tue, 18 Nov 2025 13:20:39 +0530 Subject: [PATCH 20/21] patch: hardcode bstack local: true always --- browserstack.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browserstack.yml b/browserstack.yml index c4fd83f6..bec3c61a 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -1,7 +1,7 @@ userName: $BROWSERSTACK_USERNAME accessKey: $BROWSERSTACK_ACCESS_KEY framework: testng -browserstackLocal: ${BROWSERSTACK_LOCAL} +browserstackLocal: true # patch fix until we get the reason for Caused by: org.openqa.selenium.WebDriverException: [browserstack.local] is set to true but local testing through BrowserStack is not connected. buildName: ${BROWSERSTACK_BUILD_NAME} source: ${BROWSERSTACK_BUILD_NAME} projectName: ${BROWSERSTACK_PROJECT_NAME} From 691502a8763d7a8c25d4740b0af55fe3805f9c51 Mon Sep 17 00:00:00 2001 From: Samiran Saha Date: Thu, 20 Nov 2025 17:30:24 +0530 Subject: [PATCH 21/21] bstack local --- browserstack.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/browserstack.yml b/browserstack.yml index bec3c61a..1b248a79 100644 --- a/browserstack.yml +++ b/browserstack.yml @@ -2,6 +2,9 @@ userName: $BROWSERSTACK_USERNAME accessKey: $BROWSERSTACK_ACCESS_KEY framework: testng browserstackLocal: true # patch fix until we get the reason for Caused by: org.openqa.selenium.WebDriverException: [browserstack.local] is set to true but local testing through BrowserStack is not connected. +browserStackLocalOptions: + localIdentifier: 'browserstack-now-local' + force: true buildName: ${BROWSERSTACK_BUILD_NAME} source: ${BROWSERSTACK_BUILD_NAME} projectName: ${BROWSERSTACK_PROJECT_NAME}