Please select your preferred method for uploading your application in order to view the instructions:
Using the Real Devices on Sauce Labs UI:
Manual Upload for Live Testing Only
Currently, the manual application upload feature is only available for the Live Testing use case. Please visit this page for more information.
Using the Legacy Test Object UI:
- Log into your account.
- Select whether you want to create an Android, iOS, or web-based mobile application project
For an application project, browse to the file containing your application, and upload it.
- For a website project, enter the URL, Name, and Version Number for the website.
Enter the Device Settings for your project.
DO NOT set a PIN lock at any point when managing the device settings; this disables the device and disrupts the device maintenance process. Refer to this page for more details
- Click Save.
- Your project will appear on the Apps dashboard.
- Select your project to view the project dashboard.
On the project dashboard you can now select Manual or Automated Tests to begin testing your project. Once your tests run, you can view the results by selecting the type of test.
There may be situations where you want to install an application from a downloadable remote location (AWS S3 bucket, a GitHub repository, etc.). The application is completely removed from the real device after the test completes, providing an added layer of security for your application. Please review the following guidelines below before uploading your application:
Please review the following guidelines below before uploading your application:
- Make sure your application meets the prerequisite requirements for Android and iOS Mobile Application Testing.
- Upload your application to the hosting location.
- Ensure Sauce Labs has READ access to the app URL.
In your Appium test script, enter the URL for the application as the
"app"desired capability. Below is an example Java snippet:
Installing your Application on Private Devices
In some cases you may need to upload / install your application to a private device and also prevent the device from broad internet access while under test. The steps to achieve this are:
- Upload your application to an internal git repository, or private hosting solution with the necessary permissions (e.g. Amazon S3 with a strict bucket policy).
- Ensure the hosted app URL is available to the machine running the automated test.
- Ensure that you've enabled the "Require Sauce Connect/VPN" setting in your organization's security settings.
Each Session is a "Fresh" Install
You will not be able to access information about different versions of your application because each session includes a "fresh" installation of your application.
For Automated Appium Testing Only
You can only install remote applications for automated Appium testing. Espresso and Robotium automated tests are not supported. Live Testing is also not supported.
Below are some examples of how to use the Sauce Labs REST API to upload your mobile application to Sauce Storage. If you do not have an app, consider using the Sauce Labs Swag Labs sample app for validating your account functionality as well as your tests.
Choosing a REST API
The APIs and authorization credentials you use depend on what you run Appium tests with:
- RDC on Sauce/Sauce Labs - Please use the Sauce Labs Storage REST API (app.saucelabs.com)
- Legacy Real Devices/Test Object - Please use the Legacy Real Device Cloud REST API (app.testobject.com)
For details related to authorization credentials, see Data Center Endpoints.
Please select your Sauce Labs Testing Platform:
RDC on Sauce API
Currently only the Sauce Storage endpoint is supported for automated testing on real devices. Please use the endpoint below to upload your application to the Sauce Labs Storage:
US Data Center
EU Data Center
Legacy Test Object API
US Data Center
EU Data Center
What You'll Need
- Once you've linked your project source code to your app center project, create a script called
appcenter-post-build.shand add it to your project source code repository.
If you're testing a cross-platform application (e.g. a react-native), add the following environment variables
If you're building a single project (iOS or Android) ignore steps 2-4 and skip to step 5.
Set the correct app name based on the application platform.
You can optionally set a console message to appear in your App Center logs.
Now you can add the following command to push to the relevant data center that contains your target real device.
If you need to retrieve a specific build, or information regarding the build that ran during this operation, you can use the Application Storage API.
Here's the full script in the Sauce Labs sample mobile app repo: