The Sauce Labs Cookbook

Sauce Headless

Front End Performance Testing


External Resources

More Info

Page tree
Skip to end of metadata
Go to start of metadata

Locating the Mobile Application

When you write an Appium test script, the most basic component is the DesiredCapabilities object, which sets the parameters of your test, such as the mobile platform and operating system you want to test against. Within that object, one of the required capabilities is Application Path, or the app desired capability. One of the advantages of the Appium architecture is that the application you want to test can be hosted anywhere, from a local path to any other web host on the network, since the Appium server will send the commands it receives from the client to any application path you specify. Practically, you have three options. 

Sauce Storage is a private temporary storage space. Files uploaded will expire seven days after upload, and be removed.  If it has been over seven days since you uploaded your application to Sauce Storage, you will need to upload it again. You can upload the application you want to test to Sauce Storage using our REST API, and then access it for testing by specifying sauce-storage:myapp for the app capability in your test script.  You upload apps using  the  upload_file  method of the Sauce Labs REST API

You can use any REST client; cURL is a convenient command-line option.

 Click here to expand and view some examples
US-WEST Data Center
curl -u $SAUCE_USERNAME:$SAUCE_ACCESS_KEY -X POST -H "Content-Type: application/octet-stream" \$SAUCE_USERNAME/$APP_NAME?overwrite=true --data-binary @$APP_LOCATION
US-EAST Data Center


curl -u $SAUCE_USERNAME:$SAUCE_ACCESS_KEY -X POST -H "Content-Type: application/octet-stream" \$SAUCE_USERNAME/$APP_NAME?overwrite=true --data-binary @$APP_LOCATION

EU Data Center
curl -u $SAUCE_USERNAME:$SAUCE_ACCESS_KEY -X POST -H "Content-Type: application/octet-stream" \$SAUCE_USERNAME/$APP_NAME?overwrite=true --data-binary @$APP_LOCATION

Uploading with cURL

If you're using cURL for the upload, you must include the @ before path/to/your_file_name

Uploading Other Test Assets to Sauce Storage (Browsers Tests Only)

When testing on desktop browsers, you can also use Sauce Storage for other assets that you want to use in your automated tests, such as pre-run executables.

There may be situations where you want to install an application from a downloadable remote location (AWS S3 bucket, a GitHub repository, etc.).

Please review the following guidelines below before uploading your application:

  1. Make sure your application meets the prerequisite requirements for Android and iOS Mobile Application Testing.
  2. Upload your application to the hosting location.
  3. Ensure Sauce Labs has READ access to the app URL.
  4. In your test script, enter the URL for the application as the "app" desired capability. Below are some example snippets:

    caps.setCapability("app", ";
    caps.SetCapability("app", "");
    app: '',
    'app':  '',
    app: ''

  • No labels