TestNG Integration with BrowserStack.
This repository showcases the use of BrowserStack's AI Authoring Agent for web automation using TestNG. The key feature is the ability to write test steps in Natural Language (Plain English), moving away from explicit Selenium locators and actions.
It contains a demo script:
BstackAIAuthoring.java
: Runs complex test objectives (like selecting a product in a specific price range or navigating to a quote page) using simple English commands.
- Enablement: The feature is enabled by declaring the capability
aiAuthoring: true
in yourbrowserstack.yml
configuration file. - The Command: Inside the test script (
BstackAIAuthoring.java
), the test uses a standard SeleniumJavascriptExecutor
to pass the Natural Language instruction to the BrowserStack environment:// Example Objective: Find Google Pixel 3 phone on the website and add 5 of them to the cart jse.executeScript("browserstack_executor: {\"action\": \"ai\", \"arguments\": [\" Click on the Google button and Add 5 Pixel 3 phones to cart\"]}");
- Execution: The BrowserStack AI Agent intercepts this command, interprets the natural language, and executes the equivalent low-level Selenium actions on the target web page.
- Clone the repository
- Replace
YOUR_USERNAME
andYOUR_ACCESS_KEY
with your BrowserStack access credentials inbrowserstack.yml
. - Declare capability
aiAuthoring: true
inbrowserstack.yml
file (if not already present). - 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.
- Add maven dependency of
browserstack-java-sdk
in yourpom.xml
file:<dependency> <groupId>com.browserstack</groupId> <artifactId>browserstack-java-sdk</artifactId> <version>LATEST</version> <scope>compile</scope> </dependency>
- Modify your build plugin to run tests by adding
argLine -javaagent:${com.browserstack:browserstack-java-sdk:jar}
in the Surefire plugin configuration. - Install dependencies
mvn compile
.
- If using Gradle, Java v9+ is required.
- 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
.
- Add
compileOnly 'com.browserstack:browserstack-java-sdk:latest.release'
in dependencies in yourgradle.build
. - Fetch Artifact Information and add
jvmArgs
property in tasks SampleTest and SampleLocalTest. - Install dependencies
gradle build
.
- You can view your test results on the BrowserStack Automate dashboard.
- For detailed documentation on general Selenium and Java setup with BrowserStack Automate, please refer to the official documentation.