Kobiton Command Line Interface commands These are the commands you can use with the Kobiton Command Line Interface (CLI) tool. app run Run app on device. Syntax kobiton app run [OPTIONS] <APP_IDENTIFIER> [ARGS]... Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable <APP_IDENTIFIER>: package name or bundle ID of the app to run Example kobiton app run com.example.app Output PID 32124 app kill Kill app on device. Syntax kobiton app kill [OPTIONS] <IDENTITY> Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable <IDENTITY>: package name or bundle ID of the app to kill Example kobiton app kill com.example.app app install Install app on device. Syntax kobiton app install [OPTIONS] Requires: [OPTIONS]: requires -s <SESSION_ID> and -n <NAME> Example kobiton app install -s 123 -n 651911 Output Install app successfully app uninstall Uninstall app on device. Syntax kobiton app uninstall [OPTIONS] <APP_IDENTIFIER> Requires: [OPTIONS]: requires -u <UDID> <APP_IDENTIFIER>: package name or bundle ID of the app to uninstall Example kobiton app uninstall -u 3e4e7fe7 com.example.app Output The application is uninstalled successfully app upload Upload an app to the Kobiton App Repo. Syntax kobiton app upload [OPTIONS] <PATH> [APP_ID] Requires: <PATH>: local path to an app package that belongs to a supported filetype and size. Example kobiton app upload ./sample.apk Output Application uploaded. Parsing status OK. App ID: 651911 Version ID: 739431 app find Find an app on the Kobiton App Repo using keyword. Syntax kobiton app find [OPTIONS] <KEYWORD> Requires: <KEYWORD>: keyword to find the app. Put <KEYWORD> between double quotes for space or special character. Example kobiton app find "example app" Output Name: Example App Version: 4.1.1 App ID: 651911 Version ID: 739431 file list List files on the specified path of the device. Syntax kobiton file list [OPTIONS] [PATH] Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. If [PATH] is empty, the home location is used. Example (Android) kobiton file list /data/local/tmp Example (iOS) kobiton file list @com.sample.app:./Documents/ Output sampleFolder sampleFile1.tmp file push Push a file to the specified path on the device. Syntax kobiton file push [OPTIONS] <LOCAL_PATH> <REMOTE_PATH> Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. <LOCAL_PATH>: local file path to push. If <REMOTE_PATH> is empty, the home location is used. Example (Android) kobiton file push foo.dat /data/local/tmp/foo.dat Example (iOS) kobiton file push foo.dat @com.company.app:Documents/foo.dat Output Pushed 505031 bytes to /data/local/tmp/foo.dat file pull Pull a file from the specified path on the device. Syntax kobiton file pull [OPTIONS] <REMOTE_PATH> [LOCAL_PATH] Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. <REMOTE_PATH>: remote location of the file to pull from. If [LOCAL_PATH] is empty, the current location is used. Example (Android) kobiton file pull /data/local/tmp/foo.dat foo.dat Example (iOS) kobiton file pull @com.company.app:Documents/foo.dat Output Pulled 505031 bytes to foo.dat device list List devices. Syntax kobiton device list [OPTIONS] Highly recommended to use: --private: filter only private devices. --booked false: filter only devices not in use. --reserved false: filter only devices not retained. Example kobiton device list --private --booked false --reserved false Output Display Name, UDID, Platform, List, Status, Host iPhone 12, 79de3c497b9f1****19040aeb44, iOS 18.1, Private, ACTIVATED, 192.168.50.86 device adb-shell Run ADB shell command on Android device. Syntax kobiton device adb-shell [OPTIONS] [ARGS]... Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. If [ARGS]… is not provided, launch an interactive adb shell. Example kobiton device adb-shell "dumpsys window displays | grep -E 'mCurrentFocus|mFocusedApp'" Output mCurrentFocus=Window{272f9b1 u0 com.example.app/MainActivity} mFocusedApp=ActivityRecord{3d12396 u0 com.example.app/.MainActivity t2823} device forward Forward a port on the device to a port on the local machine. Syntax kobiton device forward [OPTIONS] <LOCAL_ADDRESS> <REMOTE_ADDRESS> Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. <LOCAL_ADDRESS> and <REMOTE_ADDRESS>: must follow tcp:<port> format. Example kobiton device forward tcp:8080 tcp:80 Output Listening on 127.0.0.1:8080. device ps View running processes on the device. Syntax kobiton device ps [OPTIONS] Requires: [OPTIONS]: requires -a <SESSION_TOKEN> or KOBITON_SESSION_TOKEN environment variable. Example kobiton device ps Output PID NAME 1 init 2 [kthreadd] 3 [rcu_gp] 5 [kworker/0:0H] session create Create a CLI session. Syntax kobiton session create [OPTIONS] Requires [OPTIONS]: requires -u <UDID>. Use -t to set session timeout in minutes. Default/minimum is 10 and maximum is 120. Example kobiton session create -u 3e4e7fe7 Output Session 8155111 created for device 3e4e7fe7. Session token eyJhbGciOiJ... session end End an active session (all types). Syntax kobiton session end [OPTIONS] Requires: [OPTIONS]: requires -s <SESSION_ID> Example kobiton session end -s 8155111 Output Session 8155111 ended. session terminate Terminate a non-responsive session (all types). Syntax kobiton session terminate [OPTIONS] Requires: [OPTIONS]: requires -s <SESSION_ID> Example kobiton session terminate -s 8155111 Output Session 8155111 terminated. session delete Delete and remove a completed CLI session from the Session list. Syntax kobiton session delete [OPTIONS] Requires: [OPTIONS]: requires -s <SESSION_ID> Example kobiton session delete -s 8155111 Output OK session ping Ping an active CLI session to reset the timeout counter. Syntax kobiton session ping [OPTIONS] Requires: [OPTIONS]: requires both -s <SESSION_ID> and KOBITON_SESSION_TOKEN environment variable (or -a <SESSION_TOKEN>). Example export KOBITON_SESSION_TOKEN=<SESSION_TOKEN> # Skip if already imported kobiton session ping -s 8155111 Output Session 8155111 pinged. session list-active List active sessions (all types). Syntax kobiton session list-active [OPTIONS] Example kobiton session list-active Output Session 8155111, device 3e4e7fe7, status RUNNING, created 2025-10-09T03:38:03Z, ended active session show Show details of a session (all types). Syntax kobiton session show [OPTIONS] Requires: [OPTIONS]: requires -s <SESSION_ID> Example kobiton session show -s 8155111 Output Session 8155111: Session created at 10/09/2025 04:13 AM Created: 2025-10-09T03:13:55.698Z Ended: 2025-10-09T03:31:26.973Z Device 3e4e7fe7: Android 11 Status: COMPLETE test run Run a native framework automation session (XCUITest, UIAutomator, or Espresso). GameDriver is not supported. Syntax kobiton test run [OPTIONS] --app <APP> --runner <TEST_RUNNER> <FRAMEWORK> Requires: [OPTIONS]: different requirements based on framework: Either -u <UDID> or -d <DEVICE_NAME> is required for any framework. Either -t <TESTS> or --plan <TEST_PLAN> is required for XCUITest. <TEST_PLAN> must be a direct URL. Local path is not supported. <FRAMEWORK>: must be either uiautomator2 or xcuitest. <APP> and <TEST_RUNNER>: must be either Kobiton App Repo ID (kobiton-store:<APP_ID> or kobiton-store:v<APP_VERSION_ID>) or direct URL. Local path is not supported. Add the --follow argument to continually request the status of the test until completion, then print a plain text test report. Example (UIAutomator or Espresso) kobiton test run --app kobiton-store:662537 --runner kobiton-store:v762538 -u 3e4e7fe7 uiautomator Example (XCUITest) kobiton test run --app kobiton-store:662538 --runner kobiton-store:v762548 --plan https://example.com/test-plans/sample.xctestplan -u 00008120-000E44D***28C01E --follow xcuitest Output #UIAutomator/Espresso UIAUTOMATOR Session 8155157 started. #XCUITest XCUITEST Session 8155161 started. #XCUITest with --follow Session 8155172: XCUITEST test session Created: 2025-10-09T04:25:41.896Z Device 00008120-000E44D***28C01E: iOS 16.1 Status: START Session 8155172: XCUITEST test session Created: 2025-10-09T04:25:43.769Z Ended: 2025-10-09T04:26:26.261Z Device 00008120-000E44D***28C01E: iOS 16.1 Status: COMPLETE Test Suite: Tests: 2 Failures: 0 Errors: 0 Skipped: 0 Duration: 1.000 Start Time: 2025-10-09T11:24:58 End Time: 2025-10-09T11:24:59 XCUITestSampleUITests#testABC [0.402] PASSED out: Start Test at 2025-10-09 11:24:58.275 out: Set Up out: Tear Down XCUITestSampleUITests#testXYZ [0.324] PASSED out: Start Test at 2025-10-09 11:24:58.684 out: Set Up out: Tear Down