添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Accept All We now support passing regular expressions in device and OS version capabilities on BrowserStack App Automate. Please refer to our documentation . We now support testing on latest iOS minor versions on BrowserStack App Automate. Please refer our documentation Note:
  • Supported format for images : JPG, JPEG, PNG, GIF, BMP. Max file size allowed for image is 10MB
  • Supported format for videos: .mp4, .mov and .3gp. Max file size allowed for videos is 50MB.
  • Supported format for non-media files: XLS, XLSX, DOC, DOCX, PDF, CSV, TXT. Max file size allowed is 15 MB.

Capabilities

Appium provides a series of capabilities that you can set for the Appium version you are running. Appium server on the BrowserStack will receive all the capabilities you set on the client side. You can also use BrowserStack specific capabilities to configure your tests. Below is the complete list of BrowserStack Capabilities we support for App testing:

Appium capabilities

app

Accepts App URL returned after uploading an app on the BrowserStack servers or custom_id defined by you to upload an app. Upload the App using REST API .

bs://<hashed app-id> or custom_id automationName

Set the automation engine to use

UIAutomator2, XCUITest, Appium, Flutter, YouiEngine, UIAutomator1
Android (Default): UIAutomator2
iOS (Default): XCUITest otherApps

String array of uploaded app ids.

Note: Maximum 3 app ids allowed. This capability has to be used along with app capability.

Example: ["bs://<hashed app-id>", "bs://<hashed app-id>"] browserstack.midSessionInstallApps

Set this capability if you want to install apps in the middle of the test session.

Example: ["bs://<hashed midSessionAppID>", "bs://<hashed midSessionAppID>"]
Note:
- Maximum 3 app ids allowed.
- This parameter has to be used along with app parameter. browserstack.debug

Required if you want to generate screenshots at various steps in your test.

true, false
Default: false browserstack.deviceLogs

Required if you want to capture device logs for your test.

true, false
Default: true browserstack.networkLogs

Required if you want to capture network logs for your test.

true, false
Default: false
This feature is not supported on the following devices: ["Oppo Reno 6", "Oppo Reno 3 Pro", "Realme 8", "Oppo A96", "Vivo V23 5G", "Samsung Galaxy M32", "Samsung Galaxy M31", "OnePlus Nord CE 2 Lite 5G"]
browserstack.networkLogsOptions

Use this capability to configure Network logs. You can configure logs to capture response payload.

Default: Empty JSON

captureContent
Captures response payload in network logs. To enable this property, set captureContent in the JSON to TRUE. By default, it is set to FALSE.

Example: {"captureContent": true}
This feature is not supported on the following devices: ["Oppo Reno 6", "Oppo Reno 3 Pro", "Realme 8", "Oppo A96", "Vivo V23 5G", "Samsung Galaxy M32", "Samsung Galaxy M31", "OnePlus Nord CE 2 Lite 5G"]
browserstack.networkLogsExcludeHosts

Specify a list of certificate pinned hosts that should bypass BrowserStack MITM proxy while capturing network logs.

List of certificate pinned hosts (Array) or regular expression value matching a list of hosts (String). Check documentation for examples.

This feature is not supported on the following devices: ["Oppo Reno 6", "Oppo Reno 3 Pro", "Realme 8", "Oppo A96", "Vivo V23 5G", "Samsung Galaxy M32", "Samsung Galaxy M31", "OnePlus Nord CE 2 Lite 5G"]
browserstack.networkLogsIncludeHosts

Use this capability if you wish to capture network logs only for specific hosts. Traffic for all other remaining hosts will bypass BrowserStack MITM proxy and won’t be captured in network logs.

List of hosts (Array) or regular expression value matching a list of hosts (String). Check documentation for examples

This feature is not supported on the following devices: ["Oppo Reno 6", "Oppo Reno 3 Pro", "Realme 8", "Oppo A96", "Vivo V23 5G", "Samsung Galaxy M32", "Samsung Galaxy M31", "OnePlus Nord CE 2 Lite 5G"]
browserstack.acceptInsecureCerts

Use this capability to avoid invalid certificate errors while using self-signed certificate to test your app.

true, false
Default: false
This feature is not supported on the following devices: ["Oppo Reno 6", "Oppo Reno 3 Pro", "Realme 8", "Oppo A96", "Vivo V23 5G", "Samsung Galaxy M32", "Samsung Galaxy M31", "OnePlus Nord CE 2 Lite 5G"]
browserstack.appiumLogs

Required if you want to capture raw appium logs for your test.

true, false
Default: true browserstack.video

Required if you want to enable video recording during your test.

true, false
Default: true browserstack.appStoreConfiguration

Required if you want to login to your google account on the devices in order to test the functionalities like Google Pay or Google In-app purchase.

Example: { "username" : "play-store-email", "password" : "play-store-password" }
This feature is not supported on the following devices: ["Oppo Reno 6", "Xiaomi Redmi Note 9", "Xiaomi Redmi Note 11", "Huawei P30", "Huawei P30", "Huawei P30", "Oppo Reno 3 Pro", "Realme 8", "Xiaomi Redmi Note 10S", "Xiaomi Redmi Note 7 Pro", "Xiaomi Redmi Note 12 Pro Plus", "Xiaomi Redmi Note 12 4G", "Xiaomi Redmi Note 10 Pro", "Xiaomi Redmi Note 9 Pro Max", "Xiaomi Redmi Note 5 Pro"]
browserstack.app_version

Required if you want to test previously uploaded apps under same custom_id. Acceptable values are '-1', '-2' or so on. This will pick the latest-1 or latest-2 etc. version of your uploaded builds to install on your target device.

Note: 'browserstack.app_version' capability can be used only if you use custom_id or shareable_id in the 'app' capability of your test. If you use app_url in the 'app' capability, Appium will install the app corresponding to the app_url ignoring the browserstack.app_version capability.

-1, -2 and so on
Default: Latest uploaded app version under the custom_id browserstack.gpsLocation

Required if you want to simulate the location of the device to a particular GPS location.

latitude, longitude
Acceptable range for latitude is -90 to +90 and for longitude is -180 to +180. Example: 40.730610,-73.935242
Default: 0,0 browserstack.geoLocation

Required if you want to test how your app behaves in specific countries.

"CN" for China, "FR" for France, "IN" for India and "US" for United States of America
Note: View the list of 145+ supported countries.
This feature is only available with a BrowserStack Enterprise plan. View details .
browserstack.networkProfile

Required if you want to simulate different network conditions from the list of existing network profiles.

Example: 2g-gprs-good, 2g-gprs-lossy, 3g-umts-good etc.
View the list of supported network profiles.
The airplane-mode network profile is not supported on the following devices: ["Oppo Reno 6", "Xiaomi Redmi Note 9", "Xiaomi Redmi Note 11", "Huawei P30", "Oppo Reno 3 Pro", "Realme 8", "Xiaomi Redmi Note 10S", "Xiaomi Redmi Note 7 Pro", "Xiaomi Redmi Note 12 Pro Plus", "Xiaomi Redmi Note 12 4G", "Xiaomi Redmi Note 10 Pro", "Xiaomi Redmi Note 9 Pro Max", "Xiaomi Redmi Note 5 Pro", "Oppo A96", "Oppo A78", "Vivo Y50", "Vivo Y21", "Vivo Y22", "Vivo V21", "Vivo S1 Pro", "Vivo V20", "Vivo V23 5G", "Vivo Y15", "Vivo Y73", "Motorola Moto G9 Play", "Motorola Moto G71 5G", "Samsung Galaxy Tab S8", "Google Pixel 6 Pro", "Google Pixel 7", "Google Pixel 7 Pro", "Samsung Galaxy M32", "OnePlus 11R", "Samsung Galaxy S22", "Samsung Galaxy S23", "Samsung Galaxy S22 Plus", "Samsung Galaxy S22 Ultra", "Samsung Galaxy S23 Ultra", "Google Pixel 6a", "Samsung Galaxy M31", "OnePlus 10 Pro", "Oppo A54", "Samsung Galaxy A33 5G", "Oppo F21 Pro Max", "OnePlus Nord CE 2 Lite 5G", "OnePlus Nord CE 5G", "OnePlus Nord"]
browserstack.customNetwork

Required if you want to simulate the custom network condition

Example ('1000', '1000', '100', '1')
download speed (kbps), upload speed (kbps), latency (ms), packet loss (%) browserstack.resignApp

Set this capability to false if you want to test features like, Push Notifications. Use this capability along with your Enterprise signed app in the app capability. Using this capability will disable resigning of your Enterprise signed 'app' so that you can test features like, push notifications on BrowserStack devices.

true, false
IOS (Default): true
Android: Not required for Android. browserstack.timezone

Required if you want to configure tests to run on a custom time zone.


Examples - UTC, New_York (for America/New_York), Los_Angeles (for America/Los_Angeles), La_Rioja (for America/Argentina/La_Rioja).
View the list of supported timezones.
This feature is not supported on following Android devices: ["Xiaomi Redmi Note 9-10.0"]
browserstack.uploadMedia

Required if you want to use your uploaded images or videos in the test. Upload your custom media on BrowserStack servers using REST API . Use the hashed url returned as a result of the upload in this capability.

Example: ["media://hashedid", "media://hashedid"]
Note:
- Only 5 files are allowed per test
- Supported format for images are JPG, JPEG, PNG, GIF, BMP
- Max file size allowed for images is 10MB
- Supported format for videos are .mp4, .mov and .3gp
- Max file size allowed for videos is 50MB
browserstack.idleTimeout

BrowerStack triggers BROWSERSTACK_IDLE_TIMEOUT error when a session is left idle for more than 90 seconds. This happens as BrowserStack by default waits for the timeout duration for additional steps or commands to run, if we do not receive any command during that time, the session is stopped, changing the session status to TIMEOUT on the dashboard.


This capability can be used to modify the timeout value. 0 to 300 seconds
Default: 90 seconds

Example: "browserstack.idleTimeout": 120 browserstack.maskCommands
Use this capability to mask the data sent or retrieved by certain commands.

Note: You can pass multiple commands in a single array, separated by commas. Default: Empty Array

setValues
All the text send via sendKeys command will be redacted.

getValues
All the text retrieved via get command will be redacted.

Example:
"browserstack.maskCommands": "setValues,getValues"
Note: Sensitive data in certain logs (like Appium, video, etc.) cannot be masked. device

Specifies a particular mobile device for the test environment.

Android devices: Samsung Galaxy S23 Ultra, Samsung Galaxy S23, Samsung Galaxy S22 Ultra, Samsung Galaxy S22 Plus, Samsung Galaxy S22, Samsung Galaxy S21, Samsung Galaxy S21 Ultra, Samsung Galaxy S21 Plus, Samsung Galaxy S20, Samsung Galaxy S20 Plus, Samsung Galaxy S20 Ultra, Samsung Galaxy M52, Samsung Galaxy M32, Samsung Galaxy A52, Samsung Galaxy Note 20 Ultra, Samsung Galaxy Note 20, Samsung Galaxy A51, Samsung Galaxy A11, Samsung Galaxy S9 Plus, Samsung Galaxy S10e, Samsung Galaxy S10 Plus, Samsung Galaxy S10, Samsung Galaxy Note 10 Plus, Samsung Galaxy Note 10, Samsung Galaxy A10, Samsung Galaxy Note 9, Samsung Galaxy J7 Prime, Samsung Galaxy S9, Samsung Galaxy Note 8, Samsung Galaxy A8, Samsung Galaxy S8, Samsung Galaxy S7, Samsung Galaxy S6, Google Pixel 7 Pro, Google Pixel 7, Google Pixel 6 Pro, Google Pixel 6, Google Pixel 5, Google Pixel 4, Google Pixel 4 XL, Google Pixel 3, Google Pixel 3a XL, Google Pixel 3a, Google Pixel 3 XL, Google Pixel 2, OnePlus 11R, OnePlus 9, OnePlus 8, OnePlus 7T, OnePlus 7, OnePlus 6T, Xiaomi Redmi Note 11, Xiaomi Redmi Note 9, Xiaomi Redmi Note 8, Xiaomi Redmi Note 7, Vivo Y21, Vivo V21, Vivo Y50, Oppo Reno 6, Oppo A96, Oppo Reno 3 Pro, Motorola Moto G71 5G, Motorola Moto G9 Play, Motorola Moto G7 Play, Huawei P30, Samsung Galaxy Tab S8, Samsung Galaxy Tab S7, Samsung Galaxy Tab S6, Samsung Galaxy Tab S5e, Samsung Galaxy Tab S4, Nvidia Shield TV Pro 2019, Amazon Fire TV Stick 4K
iOS devices: iPhone 12 Pro, iPhone 12, iPhone 14 Pro Max, iPhone 14 Pro, iPhone 14 Plus, iPhone 14, iPhone 12 Pro Max, iPhone 12 Mini, iPhone 11 Pro Max, iPhone XS, iPhone 13 Pro Max, iPhone 13 Pro, iPhone 13 Mini, iPhone 13, iPhone 11 Pro, iPhone 11, iPhone XS Max, iPhone XR, iPhone X, iPhone 8, iPhone 8 Plus, iPhone 7, iPhone 6S, iPhone 6S Plus, iPhone SE 2020, iPhone SE 2022, iPhone SE, iPad Air 4, iPad 9th, iPad Pro 12.9 2022, iPad Pro 12.9 2020, iPad Pro 11 2022, iPad 10th, iPad Air 5, iPad Pro 12.9 2021, iPad Pro 11 2021, iPad Pro 11 2020, iPad 8th, iPad Pro 12.9 2018, iPad Mini 2021, iPad Mini 2019, iPad Air 2019, iPad 7th, iPad Pro 11 2018, iPad Pro 9.7 2016, iPad Pro 12.9 2017, iPad Mini 4, iPad 6th, iPad 5th
Note: All values are strings. browserstack.appium_version

Use this capability to set the Appium version in your test scripts.

Android: 1.22.0 , 1.21.0 , 1.20.2 , 1.19.1 , 1.18.0 , 1.17.0 (default on Android 5 and above), 1.16.0 , 1.15.0 , 1.14.0 , 1.8.0 (default on OS version 4.4)
iOS: 1.22.0 , 1.21.0 , 1.20.2 , 1.19.1 , 1.18.0 , 1.17.0 (default on iOS 12, 13 and 14), 1.16.0 , 1.15.0 , 1.7.0 (default on iOS 10 and 11) os

OS you want to test.

ios, android os_version

Use this capability to specify the OS version of the device.

Samsung Galaxy S23 Ultra : "13.0"
Samsung Galaxy S23 : "13.0"
Samsung Galaxy S22 Ultra : "12.0"
Samsung Galaxy S22 Plus : "12.0"
Samsung Galaxy S22 : "12.0"
Samsung Galaxy S21 : "12.0"
Samsung Galaxy S21 Ultra : "11.0"
Samsung Galaxy S21 : "11.0"
Samsung Galaxy S21 Plus : "11.0"
Samsung Galaxy S20 : "10.0"
Samsung Galaxy S20 Plus : "10.0"
Samsung Galaxy S20 Ultra : "10.0"
Samsung Galaxy M52 : "11.0"
Samsung Galaxy M32 : "11.0"
Samsung Galaxy A52 : "11.0"
Samsung Galaxy Note 20 Ultra : "10.0"
Samsung Galaxy Note 20 : "10.0"
Samsung Galaxy A51 : "10.0"
Samsung Galaxy A11 : "10.0"
Samsung Galaxy S9 Plus : "9.0"
Samsung Galaxy S10e : "9.0"
Samsung Galaxy S10 Plus : "9.0"
Samsung Galaxy S10 : "9.0"
Samsung Galaxy Note 10 Plus : "9.0"
Samsung Galaxy Note 10 : "9.0"
Samsung Galaxy A10 : "9.0"
Samsung Galaxy Note 9 : "8.1"
Samsung Galaxy J7 Prime : "8.1"
Samsung Galaxy S9 Plus : "8.0"
Samsung Galaxy S9 : "8.0"
Samsung Galaxy Note 8 : "7.1"
Samsung Galaxy A8 : "7.1"
Samsung Galaxy S8 : "7.0"
Samsung Galaxy S7 : "6.0"
Samsung Galaxy S6 : "5.0"
Google Pixel 7 Pro : "13.0"
Google Pixel 7 : "13.0"
Google Pixel 6 Pro : "13.0"
Google Pixel 6 Pro : "12.0"
Google Pixel 6 : "12.0"
Google Pixel 5 : "12.0"
Google Pixel 5 : "11.0"
Google Pixel 4 : "11.0"
Google Pixel 4 XL : "10.0"
Google Pixel 4 : "10.0"
Google Pixel 3 : "10.0"
Google Pixel 3a XL : "9.0"
Google Pixel 3a : "9.0"
Google Pixel 3 XL : "9.0"
Google Pixel 3 : "9.0"
Google Pixel 2 : "9.0"
Google Pixel 2 : "8.0"
OnePlus 11R : "13.0"
OnePlus 9 : "11.0"
OnePlus 8 : "10.0"
OnePlus 7T : "10.0"
OnePlus 7 : "9.0"
OnePlus 6T : "9.0"
Xiaomi Redmi Note 11 : "11.0"
Xiaomi Redmi Note 9 : "10.0"
Xiaomi Redmi Note 8 : "9.0"
Xiaomi Redmi Note 7 : "9.0"
Vivo Y21 : "11.0"
Vivo V21 : "11.0"
Vivo Y50 : "10.0"
Oppo Reno 6 : "11.0"
Oppo A96 : "11.0"
Oppo Reno 3 Pro : "10.0"
Motorola Moto G71 5G : "11.0"
Motorola Moto G9 Play : "10.0"
Motorola Moto G7 Play : "9.0"
Huawei P30 : "9.0"
Samsung Galaxy Tab S8 : "12.0"
Samsung Galaxy Tab S7 : "11.0"
Samsung Galaxy Tab S7 : "10.0"
Samsung Galaxy Tab S6 : "9.0"
Samsung Galaxy Tab S5e : "9.0"
Samsung Galaxy Tab S4 : "8.1"
Nvidia Shield TV Pro 2019 : "11.0"
Amazon Fire TV Stick 4K : "7.1"
iPhone 12 Pro : "17 Beta"
iPhone 12 : "17 Beta"
iPhone 14 Pro Max : "16"
iPhone 14 Pro : "16"
iPhone 14 Plus : "16"
iPhone 14 : "16"
iPhone 12 Pro Max : "16"
iPhone 12 Pro : "16"
iPhone 12 Mini : "16"
iPhone 11 Pro Max : "16"
iPhone XS : "15"
iPhone 13 Pro Max : "15"
iPhone 13 Pro : "15"
iPhone 13 Mini : "15"
iPhone 13 : "15"
iPhone 11 Pro : "15"
iPhone 11 : "15"
iPhone XS : "14"
iPhone 12 Pro Max : "14"
iPhone 12 Pro : "14"
iPhone 12 Mini : "14"
iPhone 12 : "14"
iPhone 11 Pro Max : "14"
iPhone 11 : "14"
iPhone XS : "13"
iPhone 11 Pro Max : "13"
iPhone 11 Pro : "13"
iPhone 11 : "13"
iPhone XS : "12"
iPhone XS Max : "12"
iPhone XR : "15"
iPhone XR : "12"
iPhone X : "11"
iPhone 8 : "15"
iPhone 8 : "13"
iPhone 8 : "12"
iPhone 8 : "11"
iPhone 8 Plus : "12"
iPhone 8 Plus : "11"
iPhone 7 : "12"
iPhone 7 : "10"
iPhone 6S : "12"
iPhone 6S : "11"
iPhone 6S Plus : "11"
iPhone SE 2020 : "16"
iPhone SE 2022 : "15"
iPhone SE 2020 : "13"
iPhone SE : "11"
iPad Air 4 : "14"
iPad 9th : "15"
iPad Pro 12.9 2022 : "16"
iPad Pro 12.9 2020 : "16"
iPad Pro 11 2022 : "16"
iPad 10th : "16"
iPad Air 5 : "15"
iPad Pro 12.9 2021 : "14"
iPad Pro 12.9 2020 : "14"
iPad Pro 11 2021 : "14"
iPad Pro 12.9 2020 : "13"
iPad Pro 11 2020 : "16"
iPad 8th : "16"
iPad Pro 12.9 2018 : "15"
iPad Mini 2021 : "15"
iPad 8th : "14"
iPad Pro 12.9 2018 : "13"
iPad Pro 11 2020 : "13"
iPad Mini 2019 : "13"
iPad Air 2019 : "13"
iPad 7th : "13"
iPad Pro 12.9 2018 : "12"
iPad Pro 11 2018 : "12"
iPad Mini 2019 : "12"
iPad Air 2019 : "12"
iPad Pro 9.7 2016 : "11"
iPad Pro 12.9 2017 : "11"
iPad Mini 4 : "11"
iPad 6th : "11"
iPad 5th : "11" deviceOrientation

Set the screen orientation of mobile device.

portrait, landscape
Default: portrait language

Required if you want to set the language of the app under test.
Note: This capability will only affect the application under test and not the device.

locale

Required if you want to set locale for iOS and Android.

fr_CA format for iOS. CA format (country name abbreviation) for Android buildTag

Use this capability to add a custom tag to the builds. These tags can be used to filter the builds on the App Automate dashboard. View Documentation

Example : { "buildTag": "My Build Tag" }

We have following overriding rules specific to App testing:

  • all the emulator specific capabilities will not work, as your tests will always run against real devices
  • Appium's fullreset capability will not work as we always uninstall the app and clean up the device at the end of each session
  • Appium's platformVersion capability will be ignored
  • The value ANY if given to any parameter is same as the parameter preference not specified.
  •