Open a Live App Session from a Link
You can link straight to a live session on a real device with one of your uploaded apps installed. This is useful in CI: upload the build of a pull request, then post a link on the pull request so a reviewer can open the app on a device with one click.
https://testingbot.com/members/apps/start?app=tb://<appkey>&device=<id>
Parameters
| Parameter | Description |
|---|---|
app |
The app_url returned when you upload an app
(tb://<appkey>), or just the appkey. Must be an .apk
or .ipa uploaded to the same TestingBot account.
|
device |
The id of a real device, as returned by GET /v1/devices. |
deviceName |
Instead of device: the device name, for example Pixel 8.
When several devices match, a free one is preferred, then the newest OS version.
|
platformVersion |
Optional, with deviceName. 14 matches 14 and 14.x. |
Examples:
https://testingbot.com/members/apps/start?app=tb://35576f774feba47fa4e4b3b9&device=28
https://testingbot.com/members/apps/start?app=tb://35576f774feba47fa4e4b3b9&deviceName=Pixel%208&platformVersion=14
What happens on click
Opening the link never starts a session by itself. It shows a confirmation page with the app (name, version and bundle identifier) and the device, and whether that device is free. Click Start session to begin.
- If you are not logged in, you are asked to log in first and then return to the confirmation page.
- The session runs under the account of the person who clicks the link, so the app must belong to that account. Team members share the team's apps.
- If the device is in use, the page offers to check again or to pick another device.
- If the app cannot run on the device (an iOS app on an Android device, or a simulator
.zip), the page says so.
Post a link on pull requests
Upload the build with the storage API, read app_url
from the response and comment the link on the pull request. A GitHub Actions example:
- name: Upload build to TestingBot
id: upload
run: |
APP_URL=$(curl -s -u "$TB_KEY:$TB_SECRET" \
-F "file=@app/build/outputs/apk/debug/app-debug.apk" \
https://api.testingbot.com/v1/storage | jq -r .app_url)
echo "app_url=$APP_URL" >> "$GITHUB_OUTPUT"
env:
TB_KEY: ${{ secrets.TB_KEY }}
TB_SECRET: ${{ secrets.TB_SECRET }}
- name: Comment live test link
run: |
gh pr comment ${{ github.event.pull_request.number }} --body \
"Test this build on a real device: https://testingbot.com/members/apps/start?app=${{ steps.upload.outputs.app_url }}&deviceName=Pixel%208"
env:
GH_TOKEN: ${{ github.token }}
Notes
- Upload each pull request's build as a new app, so each link keeps pointing at its own build. Replacing the binary under an existing appkey (
POST /v1/storage/<appkey>) changes what older links open. - Prefer
deviceNameoverdevicein shared links: a specific device may be in use, another unit of the same model often is not. - Your plan's limits apply as usual, for example the number of parallel live sessions.