Browserstack logo
  • AI Agents
  • Pricing
  • Manual Testing

    Live

    Cross-browser testing

    Testing Toolkit

    Essential manual testing tools

    Accessibility Testing

    Test WCAG compliance

    Website Scanner

    All-in-one website checker

    Test Automation

    Automate

    Browser automation grid

    Low Code Automation

    Automation without coding

    Accessibility Automation

    Automate WCAG testing

    Percy

    Visual testing & review

    Automate TurboScale

    Automation on your Cloud

    Management & Optimization

    Test Management

    Unify & track all test cases

    Test Reporting & Analytics

    Monitor & optimize all tests

    Explore BrowserStack for Enterprise | Bug Capture | Requestly | Private Devices

    Manual Testing

    App Live

    Real device testing

    App Accessibility Testing

    Test WCAG compliance

    Test Automation

    App Automate

    Real device automation cloud

    App Percy

    Visual testing for mobile apps

    Management & Optimization

    Test Management

    Unify & track all test cases

    Test Reporting & Analytics

    Monitor & optimize all tests

    Explore BrowserStack for Enterprise | Bug Capture | Requestly | Private Devices

    • Documentation
    • Support
    • Status
    • Release Notes
    • Open Source
    • Events
    • Meetups
    • Champions
  • AI Agents
  • Pricing
  • Sign in
  • Free Trial
  • Manual Testing
  • Live
    Manual cross-browser testing
  • Accessibility Testing
    Super app to find & report issues
  • Test Automation
  • Automate
    Browser automation grid
  • Percy
    Visual testing & review
  • Management & Optimization
  • Test Management
    Unify & track all test cases
  • Test Reporting & Analytics
    Monitor & optimize all tests
  • For Teams
  • Enterprise
  • Manual Testing
  • App Live
    Manual real device testing
  • App Accessibility Testing
    Test WCAG compliance
  • Test Automation
  • App Automate
    Real device automation cloud
  • App Percy
    Visual testing for mobile apps
  • Management & Optimization
  • Test Management
    Unify & track all test cases
  • Test Reporting & Analytics
    Monitor & optimize all tests
  • For Teams
  • Enterprise
  • Documentation
  • Support
  • Status
  • Release Notes
  • Open Source
  • Events
  • Champions
  • 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.

    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.

    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
    • Apple in-app purchase
    • Google Play Store access
    • Apple App Store access
    • Localization testing
    • Timezone
    • Disable device animations
    • ADB commands

    PRODUCTS

    • Live
    • App Automate
    • App Live
    • Automate
    • Accessibility Testing
    • Low Code Automation
    • Percy
    • App Accessibility Testing
    • Accessibility Automation
    • Test Management
    • Test Reporting & Analytics
    • App Percy
    • Automate TurboScale
    • Bug Capture
    • Requestly
    • Website Scanner
    • Testing Toolkit

    WHY BROWSERSTACK

    • Customers
    • Case Studies
    • AI Agents
    • Browsers & Devices
    • Enterprise
    • Data Centers
    • Real Device Features
    • Security

    RESOURCES

    • Support
    • Status
    • Release Notes
    • Blog
    • Events
    • Community
    • Meetups
    • Champions
    • Guide
    • Partners
    • Find a partner
    • Trust Center
    • Test University (Beta)

    COMPANY

    • About Us
    • Careers
    • Open Source
    • Press
    • Newsletter
    Browserstack logo
    SOCIAL
    twitter social link facebook social link linkedin social link youtube social link instagram social link discord social link
    Contact Us

    We are available 24 / 7

    More Resources

    Cross Browser Testing Selenium Testing Test Management Emulators vs Real Device Mobile App Testing

    Test on Device

    Test on iPad Test on Galaxy Test In IE Test on Android Test on iOS Mobile Emulators Test on Right Devices

    Tools

    SpeedLab Screenshots Responsive Nightwatch.js
    discord social link
    Contact Us

    We are available 24 / 7

    © 2025 BrowserStack. All rights reserved.

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