We use cookies to enhance user experience, analyze site usage, and assist in our marketing efforts. By continuing to browse or closing this banner, you acknowledge that you have read and agree to our Cookie Policy, Privacy Policy and Terms of Service.

Browserstack logo
  • Live for Teams
  • Pricing
    • Test your websites
    • Live
      Interactive cross browser testing
    • Automate
      Selenium testing at scale
    • Percy
      Visual testing & review
    • Test your mobile apps
    • App Live
      Interactive native & hybrid app testing
    • App Automate
      Test automation for native & hybrid mobile apps
    • App Percy Beta
      Visual testing for native & hybrid mobile apps

    Use BrowserStack with your favourite products. See our Integrations ⟶

    • For Teams
    • Enterprise
    • Tools
    • Screenshots
    • Responsive
    • SpeedLab
    • Documentation
    • Support
    • Status
    • Release Notes
    • Open Source
    • Events
    • Champions
  • Live for Teams
  • Pricing
  • Sign in
  • Free Trial
  • Test your websites
  • Live
    Interactive cross browser testing
  • Automate
    Selenium testing at scale
  • Percy
    Visual testing & review
  • Test your mobile apps
  • App Live
    Interactive native & hybrid app testing
  • App Automate
    Test automation for native & hybrid mobile apps
  • App Percy
    Visual testing for native & hybrid mobile apps
  • For Teams
  • Enterprise
  • Tools
  • Screenshots
  • Responsive
  • SpeedLab
  • Documentation
  • Support
  • Status
  • Release Notes
  • Open Source
  • Events
  • Champions
  • Get help
  • Documentation
  • Appium
  • Espresso
  • XCUITest
  • EarlGrey
  • Test dev environments
  • Speed up your test suite
  • References
  • Features
  • Browsers & Devices
  • Emulator vs Real Device
  • Simulator vs Real Device
  • Security
  • Debugging
  • Device Features
  • Status
Home Documentation App Automate Device Features

Native Devices Features

App Automate enables you to use native device features to test your mobile app on thousands of real Android & iOS devices. Use these capabilities to get started.

GPS Geolocation testing

GPS Geolocation testing allows you to simulate the location of the device to a specific GPS location in order to test the location based scenarios for your app. To simulate the GPS location you will need to pass the latitude and longitude of the location you want to set the device for, using browserstack.gpsLocation capability. Example: browserstack.gpsLocation (0,0).

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

IP Geolocation testing

IP Geolocation testing allows you to test your mobile apps across different countries using IP Geolocation. In order to use IP Geolocation with your automated tests, you need to use the following capability: browserstack.geoLocation = "Two letter Country Code".

List of all the 45+ supported countries can be found here.

Push Notifications

Support for Push Notifications is now enabled on BrowserStack devices for you to be able to test the Push Notification scenarios in your app. For Push Notification to work on iOS devices, you will need to build your app using Enterprise signed certificate as Push Notification will not work for developer signed app. Upload your app to the BrowserStack servers using the App Upload API. While executing the test, set browserstack.resignApp capability to False. This will install your enterprise signed app on the BrowserStack devices without resigning it. Push Notifications are currently supported only for Appium.

Pre-loaded images

We have uploaded some pre-set images in the devices gallery for you to be able to easily test your flows involving images.

Upload custom media files

You can upload your custom media files like images and videos to the BrowserStack servers for you to be able to use in your test. You can upload your custom media on BrowserStack servers using REST API.

Use the hashed url returned as a result of the upload in browserstack.uploadMedia 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

Camera access

If your app requires to access the phone camera, you will be able to do that on BrowserStack devices. However, all our device cameras are taped hence on accessing the camera you will see a black screen but you will be able to take picture and complete your testing flow.

Network Simulation

You can now simulate different network conditions to test the performance of your apps in those networks. When you run your tests with the default network settings, each device will have unhindered WiFi connection with Internet connectivity. With Network Simulation, you can change the WiFi connection to simulate the speeds of network profiles like 2G or 3G that controls bandwidth, latency and packet loss.

For more details refer to the Network Simulation documentation

Test dependent apps

Install and test multiple apps on the device to test the flows dependent on other apps. You can install dependent apps using the otherApps capability. Example: otherApps = ["bs://", "bs://"]. Maximum 3 app ids allowed. This capability has to be used along with app capability.

Device Orientation

Run your tests against the app in portrait or landscape mode for maximum test coverage. To change the device orientation use deviceOrientation capability and set it to 'portrait' or 'landscape'. By default devices are set to 'portrait' mode.

Google Pay

If your app uses Google Pay to take payments, you can now test end to end Google Pay flow on BrowserStack devices. To test Google Pay functionality you need to login to the Google account on BrowserStack devices. That is made possible using the browserstack.appStoreConfiguration capability by passing your play store username and password. Example: { "username" : "play-store-email", "password" : "play-store-password" }.

Don't worry, your Play Store credentials are completely secured as we wipe the devices clean at the end of your session.

Google in-app purchase

If the users can make In-app purchases in your Android apps, you can now test end to end Google in-app purchase flow on BrowserStack devices. To test Google in-app functionality you need to login to the Google account on BrowserStack devices. That is made possible using the browserstack.appStoreConfiguration capability by passing your play store username and password. Example: { "username" : "play-store-email", "password" : "play-store-password" }.

Don't worry, your Play Store credentials are completely secured as we wipe the devices clean at the end of your session.

Apple in-app purchase

If the users can make In-app purchases in your iOS apps, you can now test end to end Apple in-app purchase flow on BrowserStack devices. There is no extra capability you need to pass to enable Apple in-app purchase. Just automate your in-app flow and enter the app-store credentials when requested in the flow.

Don't worry, your App Store credentials are completely secured as we wipe the devices clean at the end of your session.

Google Play Store access

If you would like to test your production Android app, you can access the Google Play Store on the BrowserStack devices, search for the app using the app bundle id and download it on the device. In order to login to the Play Store, browserstack.appStoreConfiguration capability by passing your play store username and password. Example: { "username" : "play-store-email", "password" : "play-store-password" }. This will login the Android device with the Play Store credentials you passed.

Don't worry, your Play Store credentials are completely secured as we wipe the devices clean at the end of your session.

Apple App Store access

If you would like to test your production iOS app, you can access the Apple App Store on the BrowserStack devices, search for the app using the app bundle id and download it on the device. In order to login to the App Store, just launch the App Store on the device and login with your App Store credentials.

Don't worry, your App Store credentials are completely secured as we wipe the devices clean at the end of your session.

Localization testing

You can set the devices language and locale to test the localized version of your app. In order to set the language use Appium's language capability.

Note: This capability will only affect the application under test and not the device. In order to set the device Locale, use Appium's locale capability. Example: fr_CA format for iOS. CA format (country name abbreviation) for Android.

Timezone

You can set the devices timezone in order to configure your tests to run on a custom timezone. Use browserstack.timezone capability to set the timezone. Example: UTC, New_York (for America/New_York), Los_Angeles (for America/Los_Angeles), La_Rioja (for America/Argentina/La_Rioja). You can view the complete list of timezones on Wikipedia.

Note: This is currently supported only on Android.

Disable device animations

You can disable the device animations on the Android device if you don't want them to interfere with your tests. In order to disable the animations use the capability disableAnimations to true.

ADB commands

Though BrowserStack does not open the ADB shell, we support most of the ADB commands either in the form of a capability of an API. See complete list of supported ADB commands here.

Complete list of capabilities can be found here.

In This Article

  • GPS Geolocation testing
  • IP Geolocation testing
  • Push Notifications
  • Pre-loaded images
  • Upload custom media files
  • Camera access
  • Network Simulation
  • Test dependent apps
  • Device Orientation
  • Google Pay
  • Google in-app purchase
  • Apple in-app purchase
  • Google Play Store access
  • Apple App Store access
  • Localization testing
  • Timezone
  • Disable device animations
  • ADB commands

Products

  • Live
  • Automate
  • Percy
  • App Live
  • App Automate
  • App Percy Beta
  • Screenshots
  • Responsive
  • Enterprise
  • SpeedLab New!

Platform

  • Browsers & Devices
  • Data Centers
  • Device Features
  • Security

Solutions

  • Test on iPhone
  • Test on iPad
  • Test on Galaxy
  • Test In IE
  • Android Testing
  • iOS Testing
  • Cross Browser Testing
  • Emulators & Simulators
  • Selenium
  • Cypress
  • Android Emulators
  • Visual Testing

Resources

  • Test on Right Devices
  • Support
  • Status
  • Release Notes
  • Case Studies
  • Blog
  • Events
  • Test UniversityBeta
  • Champions
  • Mobile Emulators
  • Guide
  • Responsive Design
  • Nightwatch

Company

  • About Us
  • Customers
  • Careers We're hiring!
  • Open Source
  • Partners
  • Press
BrowserStack Logo An illustrated of BrowserStack Logo

Social

  • BrowserStack Twitter Account An illustrated of white twitter Logo
  • BrowserStack FaceBook Account An illustrated of white FaceBook Logo
  • BrowserStack LinkedIn Account An illustrated of white LinkedIn Logo
  • BrowserStack Youtube Channel An illustrated of white youtube Logo
  • BrowserStack Instagram Account An illustrated of white instagram Logo
BrowserStack Contact Us Icon An illustration of white contact us icon Contact Us

© 2011-2023 BrowserStack - The Most Reliable Mobile App & Cross Browser Testing Company

  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Sitemap