Set up Orchestrator
#
Set up your SSHnote
You can use Sift without setting up SSH connections and instead use devices connected to the same host (or emulators/simulators set up on the host) where Sift is executed. In that case skip to Create a new node section.
If you can connect to your node (or local machine) via ssh without password, then connection set up is right:
try out your login and continue set up Orchestrator.
or:
go to the set up SSH key guide and do all steps to create a new key and then return to this page.
#
Create a new nodeA node is a host that has real devices connected to it (or emulator/simulators set up).
warning
The new node must include SSH key path and include at least one device or simulator.
note
You can use paths relative to Sift working directory and environment variables when specifying paths in your configuration.
Go to the Nodes page.
Click Add Node button.
Fill out all fields in the form.
note
You can use an environment variable(s) in Name, Host, Username and Path to private key fields.
#
General- Name: This name will be displayed in the Orchestrator.
- Host: Your SIFT machine is going to connect to this node via ssh. Please provide the IP address of the node. Use
127.0.0.1
to use devices connected to the same host (or emulators/simulators set up on the host) where Sift is executed. - Port: Your SIFT machine is going to connect to this node via ssh. Please provide the port. Use
22
to use devices connected to the same host (or emulators/simulators set up on the host) where Sift is executed. - Deployment Path: Sift will temporarily store the build & results here.
#
Authorization- Username: Name of your local machine. You can use any text when using devices connected to the same host (or emulators/simulators set up on the host) where Sift is executed.
- Path to private key: Your SIFT machine is going to connect to this node via ssh. Please provide the absolute path on the SIFT machine to a valid ssh private key which will be used for establishing a connection. By default it's located in
/Users/user_name/.ssh/id_rsa
where user_name is your machine username. You can use any path (even non existing) when using devices connected to the same host (or emulators/simulators set up on the host) where Sift is executed.
note
Please do not provide the value of the private key itself - this information is private and you should not share it with us.
- IOS
- Android
- Xcode Path: Where is Xcode located? By default it's located in
/Applications/Xcode.app
.
- Android Sdk Path: Where is Android SDK located. This is the directory that contains
platform
andplatform-tools
subdirectories. Usually ANDROID_SDK_ROOT/ANDROID_HOME environment variable contains path of this directory.Note: You can use an environment variable here. For example
$ANDROID_SDK_ROOT
#
Enviroment variables and instrumentation arguments- IOS
- Android
Instrumentation arguments - Optional. These are additional arguments passed to the instrumentation test runner (usually AndroidJUnitRunner). They can be used to pass credentials or environment settings (such as backend base URL) to tests executing on your devices.
Note: You can use an environment variable in instrumentation argument values. This is useful to provide some parameters from your CI (for example to provide credentials and avoid storing them in Orchestrator).
Note: You can use instrumentation arguments to provide AndroidJUnitRunner parameters like package, notAnnotations. When based on these parameters AndroidJUnitRunner excludes tests enabled in Orchestrator, they will be shown as skipped in the final report.
#
Device / SimulatorYou can read more about Devices and Simulators here.
- IOS
- Android
- You can get simulator id by going to Xcode -> Window -> Devices and Simulators;
- Right click on device or simulator in list -> Copy Identifier;
- Сlick Add Device or Add Simulator and paste id.
- Devices - Device serials (you can get them with
$ANDROID_SDK_ROOT/platform-tools/adb devices
command). Emulator serials (likeemulator-5554
) can be used here if you prefer to manage emulators outside of Sift. - Simulators - Names of the emulators (AVD names) to automatically start/stop for a test run.
- Save all changes by clicking Create button.

#
Set up global settingsGo to the Global Settings page.
Fill out all fields in the form.
- IOS
- Android
- Number or Reruns: How many reruns are allowed?
- Tests Per Device: How many tests are allowed per one device / simulator?
- Timeout for Test: SIFT will abort the execution after this number of seconds.
- XCTestrun Path: SIFT uses test-without-build command so we need to locate .xctestrun file.
Note: You can use environment variables in text and path configuration fields.
- Max retries per case: How many reruns are allowed?
- Max retries per run: How many retries per one test run are allowed?
- Timeout for Test: Sift will abort execution of a test case after this number of seconds.
- Path to the application APK: Path to an APK containing a debug build of your application under test (usually it is built with
./gradlew :app:assembleDebug
command, binaries are build in a directory like app/build/outputs/apk/debug). - Path to the androidTest APK: Path to an APK that contains your tests (usually it is built with
./gradlew :app:assembleDebugAndroidTest
command, binaries are build in a directory like app/build/outputs/apk/androidTest/debug) - Report Title: Title to use for a generated HTML report.
- Report Subtitle: Optional subtitle to use for a generated HTML report.
- Output Directory Path: Where would you like to see the results? Please, choose a directory where you like to store the results. The directory will be created automatically if it doesn't exist.
- Setup Script Path: You can optionally add the script to execute before the test run.
- Tear Down Script Path: You can optionally add the script to execute after the test run.
#
Enviroment variables/Instrumentation argumentsYou can read more about Enviroment variables here.
- Save all changes by clicking Update button.
#
Tell Orchestrator about your testsOpen the terminal.
Copy and Paste command:
- IOS
- Android
/usr/local/bin/
directory and has name sift./usr/local/bin/
use the following command:To run Sift from the current directory use the following command:
- Instead of "your_token" use token from Global Settings.

#
Create test suitewarning
When creating a new test suite make sure that at least one node is enabled on Test Suite Settings page. It's not possible to run test cases without enabled nodes.
Go to the guide, create a new test suite and return here.
#
Add test cases to test suiteGo to the guide, add tests to the created test plan and go to the next step: Running Sift with Orchestrator.