For AI agents and LLMs: a machine-readable index is available at llms.txt. A plain-Markdown version of any documentation page is available by appending .md to its URL.
Skip to main content

Setting Up Espresso Environment Variables

This feature allows you to dynamically set and test environment variables during Espresso test execution on TestMu AI.

Step 1: Create Variables in Your Test Suite

Define environment variables in your Espresso test suite to fetch the variable values during execution.

Sample Script
String envVar = InstrumentationRegistry.getArguments().getString(ENV_VAR);
Examples
String stage = InstrumentationRegistry.getArguments().getString(“STAGE”);
String prod = InstrumentationRegistry.getArguments().getString(“PROD”);

Step 2: Upload Your Application

To begin testing, upload your Android application (.apk file) to TestMu AI's servers. You'll use our REST API for this process.

  • Authentication : You'll need your TestMu AI Username and AccessKey. Combine them in the format Username:AccessKey.
  • Uploading the App : Use cURL command to send a request to our API. The request should include the path to your application file (appFile).
curl -u "undefined:undefined" --location --request POST 'https://manual-api.lambdatest.com/app/uploadFramework' --form 'appFile=@"<PATH_OF_YOUR_ANDROID_APP>"' --form 'type="espresso-android"'
info
  • Provide the path of your android application in the above URL in place of <PATH_OF_YOUR_ANDROID_APP>
  • Response of above cURL will be a JSON object containing the App URL of the format - lt://APP123456789123456789 and will be used in the last step.

Step 3: Upload Your Test Suite

Upload your Espresso test suite (.apk) file to TestMu AI servers using our REST API.

The following sample cURL command shows how to upload a test suite:

curl -u "undefined:undefined" --location --request POST 'https://manual-api.lambdatest.com/app/uploadFramework' --form 'appFile=@"<PATH_OF_YOUR_TEST_SUITE_APP>"' --form 'type="espresso-android"'
info
  • Provide the path of your android application in the above URL in place of <PATH_OF_YOUR_TEST_SUITE_APP>
  • Response of above cURL will be a JSON object containing the App URL of the format - lt://APP123456789123456789 and will be used in the last step.

Step 4: Executing The Test

  • You will need base64 encoded authentication in order to execute your Espresso automation test suite. Enter your username:accesskey in Basic Authentication Header Generator to generate your auth token.

Take note of the base64 encoded authentication which needs to be added in the next step.

undefined:undefined
  • Once you have uploaded your app and test suite, you can execute your test by running the following command:

Enter your BASIC_AUTH_TOKEN, APP_ID (generated in the first step) and TEST_SUITE_ID (generated in the second step) in the below command.

curl --location --request POST 'https://mobile-api.lambdatest.com/framework/v1/espresso/build' \
--header 'Authorization: Basic BASIC_AUTH_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"app" : "APP_ID",
"testSuite": "TEST_SUITE_ID",
"device" : ["Galaxy S21 5G-12"],
"queueTimeout": 10800,
"IdleTimeout": 150,
"deviceLog": true,
"network": false,
"build" : "Proverbial-Espresso"
"envVariables":{ //setting up environment variables
"STAGE":"stg1",
"PROD":"prod1"
}
}'

Run your test in HyperExecute

To execute your test suite in HyperExecute, configure your YAML file by specifying the <RELATIVE_APP_PATH> and <RELATIVE_TEST_SUITE_PATH>.

---
version: "0.2"
concurrency: 4
runson: android
autosplit: true
maxRetries: 2
env:
STAGE: stg1
PROD: prod1
framework:
name: "android/espresso"
args:
reservation: false
buildName: "Test Espresso Sharding"
appId: <TARGET_SUITE>
testSuiteAppId: <TEST_SUITE>
deviceSelectionStrategy: any
devices: [".*"]
shards:
mappings:
- name: shard1
strategy: "only-testing/skip-testing"
values: ["<className>/<className/testName>"]
- name: shard2
strategy: "only-testing/skip-testing"
values: ["<className>/<className/testName>", "<className>/<className/testName>"]

Test across 3000+ combinations of browsers, real devices & OS.

Book Demo

Help and Support

Related Articles