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
      Manual cross-browser testing
    • Automate
      Browser automation grid
    • Percy
      Visual testing & review
    • Accessibility Testing
      Super app to find & report issues
    • Test your mobile apps
    • App Live
      Manual real device testing
    • App Automate
      Real device automation grid
    • App Percy
      Visual testing for mobile apps
    • Test management & optimization
    • Test Management
      Unify & track all test cases
    • Test Observability
      Smart test reporting & debugging
    • Test development
    • Nightwatch.js
      End-to-End testing framework

    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
    Manual cross-browser testing
  • Automate
    Browser automation grid
  • Percy
    Visual testing & review
  • Accessibility Testing
    Super app to find & report issues
  • Test your mobile apps
  • App Live
    Manual real device testing
  • App Automate
    Real device automation grid
  • App Percy
    Visual testing for mobile apps
  • Test management & optimization
  • Test Management
    Unify & track all test cases
  • Test Observability
    Smart test reporting & debugging
  • Test development
  • Nightwatch.js
    End-to-End testing framework
  • 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 New
    • Test Management Beta
    • Test Observability Beta
    • Accessibility Testing Beta
    • Nightwatch
    • Enterprise

    Tools

    • SpeedLab
    • Screenshots
    • Responsive

    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

    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

    © 2023 BrowserStack. All rights reserved.

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