capabilities
A fresh look for capability generator
We are excited to unveil a fresh look for capabilities, along with SDK configuration and improved navigation. Hope you love it as much as we do.
Capabilities
Capabilities are a series of key-value pairs that allow you to configure your tests on the BrowserStack cloud grid.
Use our Capabilities Generator to configure your test suite in the language of your choice. The capabilities generator lets you select from a comprehensive set of options you can use to customize your tests on the BrowserStack Cloud grid. You can also find out more about each capability by scrolling to our Capabilities Reference section.
Capability generator
Other frameworks
Appium - BrowserStack SDK
capability-builder
Tabs
Appium
Integration method
Browserstack SDK
Non-SDK Integration
BrowserStack SDK is a plug-and-play solution that enables you to run your entire test suite with no code changes. Using the SDK reduces the integration time from hours to a few minutes.
Core Capabilities
Platform
Select a Platform name to choose the devices from below
Select browser or device combination
You can run multiple threads in parallel
- Parallel Thread #1: Android Samsung Galaxy S22 Ultra
- Parallel Thread #2: Android Google Pixel 8 Pro
- Parallel Thread #3: Android OnePlus 11R
You can now use regular expressions for device and OS version capabilities on BrowserStack App Automate.
Parallels per platform
The number of parallel threads to be used for each platform set.
Appium Version
Application (.apk/.aab)
Specify the app to test on
- Radio group label
- Select a recently uploaded app
- Enter the app_url or custom_id of an uploaded app
Other Apps
A list of other apps to install prior to running test
Automation Name
Set an automation engine for Appium
Language
Set the language of app under test
Locale
Set device locale
Mid Session Install Apps
A list of other apps to install prior to running test
Project details
- Project Name: Specify a name for a logical group of builds
- Build Name: Specify a name for a logical group of tests
- Build Identifier: Select a dynamic build identifier that appends to the build name and generates a unique name on the BrowserStack dashboard
Local Connectivity
Enable BrowserStack Local
Test localhost / internal servers in your network
- True
- False (default)
Debugging
- Debug: Generate screenshots at various steps in your test
- True
- False (default)
Network Logs
- Capture network logs for your test
- True
- False (default)
Video
- Enable video recording during your test
- True (Default)
- False
Appium Logs
- Enable appium logs for your test
- True (Default)
- False
App profiling report
- Enable app profiling
- True
- False (default)
browserstack.yml
1userName: YOUR_USERNAME
2accessKey: YOUR_ACCESS_KEY
3platforms:
4 - platformName: android
5 platformVersion: "12.0"
6 deviceName: Samsung Galaxy S22 Ultra
7 - platformName: android
8 platformVersion: "14.0"
9 deviceName: Google Pixel 8 Pro
10 - platformName: android
11 platformVersion: "13.0"
12 deviceName: OnePlus 11R
13buildIdentifier: ${BUILD_NUMBER}
Capabilities reference gist file
Expand this section to check out the list of supported Capabilities
# =============================================================================================================================
# Set BrowserStack Credentials
# =============================================================================================================================
userName: YOUR_USERNAME
accessKey: YOUR_ACCESS_KEY
# Set 'framework' of your test suite. Example, 'testng', 'cucumber', 'cucumber-testng'
framework: testng # Required only for java based frameworks
# =============================================================================================================================
# Parallels per Platform
# =============================================================================================================================
parallelsPerPlatform: 1
# =============================================================================================================================
# Android/iOS Application
# =============================================================================================================================
app: bs://5f5w7g3s5a9b5g6f39fk0 #passing app_url
app: /path/to/app/file/application-debug.apk #Passing absolute path from your local filesystem
# Specify the app path with the custom_id
app:
path: /Path/to/app
custom_id: custom_id
appVersion: 2.0
# =============================================================================================================================
# Platforms (devices to test)
# =============================================================================================================================
platforms:
- platformName: android
deviceName: Samsung Galaxy S22 Ultra
platformVersion: 12.0
- platformName: android
deviceName: Google Pixel 7 Pro
platformVersion: 13.0
# =============================================================================================================================
# BrowserStack Reporting
# =============================================================================================================================
projectName: BrowserStack Samples
buildName: browserstack build
buildIdentifier: '${BUILD_NUMBER}'
# =============================================================================================================================
# Test Configuration Capabilities
# =============================================================================================================================
browserstackLocal: true # <boolean> (Default true)
# Options to be passed to BrowserStack local in-case of advanced configurations
browserStackLocalOptions:
forcelocal: true
localIdentifier: randomstring
appiumVersion: 2.0.0
idleTimeout: 90
acceptInsecureCerts: true
httpProxy: http://user:pwd@127.0.0.1:1234
httpsProxy: https://user:pwd@127.0.0.1:1234
# =============================================================================================================================
# Debugging options
# =============================================================================================================================
video: true
debug: true
networkLogs: true
deviceLogs: true
appiumLogs: true
captureContent: false
# =============================================================================================================================
# Device Feature Capabilities
# =============================================================================================================================
resignApp: true
customNetwork: 1000
networkProfile: 4g-lte-advanced-good
deviceOrientation: portrait
geoLocation: US
timezone: New_York
language: Fr
locale: Fr
# =============================================================================================================================
# Appium Capabilities
# =============================================================================================================================
automationName: UIAutomator2
autoGrantPermissions: true
newCommandTimeout: 60
# =============================================================================================================================
# Test Reporting & Analytics
# =============================================================================================================================
testObservability: true
Capabilities Reference
Appium - BrowserStack SDK
| BrowserStack specific capabilities | |
|---|---|
| userName |
For running your Selenium and Appium tests on BrowserStack it, requires a username and an access key for authenticating the user. This capability can be used to set the username. |
| accessKey |
For running your Selenium and Appium tests on BrowserStack it, requires a username and an access key for authenticating the user. This capability can be used to set the access key. |
| framework |
Specify the language framework for your test. |
| app |
Specify the app you want to test. |
| appVersion |
Configure which version your test needs to run on. |
| parallelsPerPlatform |
Specify the number of parallel threads to be used for each platform set. |
Test configuration capabilities
| SDK-Capability | Values |
|---|---|
| projectName |
Allows the user to specify a name for a logical group of builds. |
| buildName |
Allows the user to specify a name for a logical group of tests. |
| buildIdentifier |
A unique identifier to logically group multiple test sessions together. |
| buildTag |
A custom tag for your builds. |
| browserstackLocal |
Use this capability to test your locally hosted websites on BrowserStack. |
| forcelocal |
Use this capability to resolve all your traffic via BrowserStack Local tunnel. |
| localIdentifier |
Use this capability to specify the unique Local Testing connection name in your test. |
| debug |
Required if you want to generate screenshots at various steps in your test. |
| networkLogs |
Required if you want to capture network logs for your test. |
| video |
Required if you want to enable video recording during your test. |
| deviceLogs |
Capture device logs for your test. |
| appiumLogs |
Capture raw Appium logs for your test. |
| captureContent |
Capture response payload in network logs. |
| geoLocation |
Use this capability to simulate website and mobile behavior from different locations. |
| timezone |
Use this capability to run your tests on a custom timezone. |
| idleTimeout |
BrowserStack triggers BROWSERSTACK_IDLE_TIMEOUT error when a session is left idle for more than 90 seconds. |
| acceptInsecureCerts |
Avoid invalid certificate errors while using self-signed certificate to test your app. |
Mobile capabilities
| SDK-Capability | Values |
|---|---|
| deviceName |
Specifies a particular mobile device for the test environment. |
| platforms |
Specify all the device combinations you want to test on. |
| platformName |
Specify all the device combinations you want to test on. |
| platformVersion |
Specifies a particular mobile device for the test environment. |
| deviceOrientation |
Set the screen orientation of mobile device. |
| customNetwork |
Required if you want to simulate the custom network condition. |
| networkProfile |
Required if you want to simulate different network conditions. |
Miscellaneous capabilities
| SDK-Capability | Values |
|---|---|
| appProfiling |
Enable detailed app performance profiling. |
| interactiveDebugging |
Interact, and debug any ongoing test session. |
| appStoreConfiguration | Configure app store credentials. |
| midSessionInstallApps |
Install app(s) in between a test session. |
| enableBiometric |
Enable Biometric Authentication. |
| enablePasscode |
Use passcode-protected devices to run tests. |
| updateIosDeviceSettings |
Set iOS device settings such as dark mode. |
| enableApplePay |
Test Apple Pay in your test session. |
| nativeWebTap |
Enable Apple Pay payment screen. |
| enableAudioInjection |
Use your audio files in the test. |
| enableSim |
Obtain a device with SIM |
| simOptions |
Set SIM device configuration. |
| testObservability |
Advanced test reporting and debugging tool that helps analyze test failures. |