This directory contains multiple sample projects to test the setupBrowserStackAutomateTests MCP tool with different language/framework combinations.
Path: nodejs-playwright-jest/
Test Parameters:
{
"projectName": "Playwright Jest Sample",
"detectedLanguage": "nodejs",
"detectedBrowserAutomationFramework": "playwright",
"detectedTestingFramework": "jest",
"devices": [
{
"platform": "windows",
"osVersion": "11",
"browser": "chrome",
"browserVersion": "latest"
}
]
}Path: python-selenium-pytest/
Test Parameters:
{
"projectName": "Python Selenium Pytest Sample",
"detectedLanguage": "python",
"detectedBrowserAutomationFramework": "selenium",
"detectedTestingFramework": "pytest",
"devices": [
{
"platform": "windows",
"osVersion": "11",
"browser": "chrome",
"browserVersion": "latest"
},
{
"platform": "macos",
"osVersion": "Sonoma",
"browser": "safari",
"browserVersion": "latest"
}
]
}Path: nodejs-selenium-mocha/
Test Parameters:
{
"projectName": "Selenium Mocha Sample",
"detectedLanguage": "nodejs",
"detectedBrowserAutomationFramework": "selenium",
"detectedTestingFramework": "mocha",
"devices": [
{
"platform": "android",
"deviceName": "Samsung Galaxy S24",
"osVersion": "14",
"browser": "chrome"
}
]
}Path: nodejs-cypress/
Test Parameters:
{
"projectName": "Cypress Sample",
"detectedLanguage": "nodejs",
"detectedBrowserAutomationFramework": "cypress",
"detectedTestingFramework": "cypress",
"devices": [
{
"platform": "windows",
"osVersion": "10",
"browser": "chrome",
"browserVersion": "latest"
}
]
}- Open the project folder in VS Code
- Use GitHub Copilot to invoke the
setupBrowserStackAutomateTeststool - Provide the test parameters from the README of each project
- The tool will return step-by-step instructions
Each project has its own README with:
- Installation instructions
- Local test commands
- Expected tool behavior
Run the test script:
cd /Users/manoj/Projects/BrowserStack/sample-test-projects
./test-all-projects.shThe tool should generate:
- Installation Steps - Package manager commands for the specific language
- SDK Setup - BrowserStack SDK installation and configuration
- Configuration Files - browserstack.yml (except for Cypress/WebdriverIO)
- Run Commands - Commands to execute tests on BrowserStack
✅ Tool accepts all parameters correctly ✅ Validates device configurations ✅ Generates framework-specific instructions ✅ Includes proper authentication setup ✅ Provides run commands matching the framework
- Uses
playwright-chromium,playwright-webkit,playwright-firefoxas browser names in BrowserStack - Fetches from PLAYWRIGHT_AUTOMATE endpoint
- Uses standard browser names:
chrome,safari,edge,firefox - Fetches from SELENIUM_AUTOMATE endpoint
- Does NOT use browserstack.yml
- Has unique configuration via browserstack.json or cypress.config.js
- Uses browserstack-cypress-cli
- Does NOT use browserstack.yml
- Configuration in wdio.conf.js
- Uses @wdio/browserstack-service
The tool supports these combinations based on SUPPORTED_CONFIGURATIONS:
Python:
- playwright + pytest
- selenium + pytest/robot/behave
Node.js:
- playwright + jest/codeceptjs/playwright
- selenium + jest/mocha/cucumber/nightwatch/codeceptjs
- cypress + cypress
- selenium + webdriverio
Java:
- playwright + junit4/junit5/testng
- selenium + testng/cucumber/junit4/junit5
C#:
- playwright + nunit/mstest
- selenium + xunit/nunit/mstest/specflow/reqnroll
{
"platform": "windows",
"osVersion": "11",
"browser": "chrome",
"browserVersion": "latest"
}{
"platform": "macos",
"osVersion": "Sonoma",
"browser": "safari",
"browserVersion": "latest"
}{
"platform": "android",
"deviceName": "Samsung Galaxy S24",
"osVersion": "14",
"browser": "chrome"
}{
"platform": "ios",
"deviceName": "iPhone 15",
"osVersion": "17",
"browser": "safari"
}If the tool fails:
- Check the parameters match the supported configurations
- Verify device/browser combinations are valid
- Check the framework is in SUPPORTED_CONFIGURATIONS
- Review error messages for missing dependencies