Skip to content

Integrations (CLI, API and others)

API tokens and authorization#

All API requests must contain a cookie emcee_token or token parameter

You can get API token on profile page

Command-line interface#

We have Command-Line interface which implements basic functionality of interaction with emcee.cloud

The main features in a nutshell:

  • Running iOS/Android tests
  • Tracking test results during a run
  • Downloading results
  • Configuration via file and cli params
  • Mac OS and Linux supported

Installation#

Mac OS#
brew tap avito-tech/tap && brew install emcee-cloud
Linux#

Follow instructions on Command-Line interface GitHub page.

Available Commands#

  • run - Run tests on emcee.cloud
  • help - Help about any command
  • completion - Generate the autocompletion script for the specified shell

For example, to run the android tests:

emcee-cloud run android

Configuration#

Configuration file#

We recommend using a configuration file as it is a more flexible and powerful way to customize your runs

1. Prepare your configuration file based on the example below. Don't forget to delete all unused fields and comments.

platform: ios
app: https://emcee.cloud/api/v1/file/download/e65f3887-b6af-4fe7-a791-74dcd44b62c2#EmceeSample.app
tests: /Users/Downloads/EmceeSampleHostedTests.xctest
runner: /Users/Downloads/EmceeSampleHostedTestsRunner.xctest # Optional
outputs: ["allure", "junit"] # Optional
output_folder: "/Users/Downloads" # Optional
wait_for_finish: True # Optional
token: 777
cloud_url: "https://tests.com" # Optional
configurations:
  - name: Team A
    devices:
      - osVersion: iOS-16-4
    environment: # Optional
      ENV: value
    filters: # Optional
      include: ["Class1"]
      exclude: ["Method1"]
  - name: Team B
    devices:
      - osVersion: iOS-16-4

2. Save the configuration file wherever you like with any name and .yaml extension

3. Run you tests

emcee-cloud run -c path/to/your/config.yaml
Command-line flags#

Of course our CLI supports configuration flags

Config file and flags combination

You can combine config file with cli flags

In this case, the flag values will override the values from the config file

Common flags#
  • --cloud_url - Emcee.cloud URL (default "https://emcee.cloud")
  • -h, --help - help for emcee-cloud
  • --token - Emcee.cloud api token
  • -v, --version - version for emcee-cloud
Run command flags#
  • -c, --configPath - Path to emcee.cloud config file
  • -a, --app - App binary (Path/URL) which you want to test
  • -e, --envs - Comma separated envs ex.ENV1=value1,ENV2=value2
  • --os_version - Device's OS version (API level for Android). ex --os_version 34 --os_version iOS-17-0
  • -o, --output - Output folder for test run results. Default: current folder
  • --reports - Comma separated list of reports to be downloaded upon completion. ex:allure,junit
  • -r, --runner - [iOS] Path/URL to your test runner. [Android. Optional] Class name of your test runner
  • -t, --tests - Binary (Path/URL) with tests
  • -w, --wait_for_finish - Waiting for the tests to complete. Default: true
  • -h, --help - help for run command

GitHub action#

We have Emcee.cloud action which you can add to your GitHub pipline.

With this action you can do the following:

  • Upload your test artifacts to emcee.cloud (optional).
  • Create new Test Run.
  • Wait until the end of Test Run (optional).
  • Download Test report artifacts on Test Run completion (requires waiting until the end).

API and custom integrations#

You can also implement any custom integrations using our open API

Open API docs