Real Device Testing in Your CI/CD Pipeline
Your pipeline is green on an emulator and red in the store. Point the same Appium, Selenium, Playwright or WebdriverIO suite at real iPhones and Android phones from GitHub Actions, Jenkins or GitLab CI. Concurrency is the number of devices you buy, with unlimited minutes.
A Published GitHub Action
robotactions-device-cloud is live on the GitHub Marketplace. Pass an API token from an encrypted secret and it resolves the grid endpoint, masks the token in logs and records the suite and release against each session.
Per Device, Not Per Parallel Slot
Pricing is flat per device per month, from $125 for automation. Each device you buy is one simultaneous run. We do not bill per minute, so a long nightly regression costs the same as a short one.
The Frameworks You Already Run
Appium, Selenium, Playwright and WebdriverIO connect over a token-authenticated endpoint. Jenkins and GitLab CI need only the same environment variable and header.
Evidence When a Build Goes Red
Every session is recorded with device logs, and crashes are captured and grouped. Open the failed session instead of re-running it to guess. An AI agent can read the run and diagnose why it failed.
Add Real Devices to a Pipeline
Keep the token in your CI secret store. Your framework sends it to the grid as a Bearer header.
name: Mobile E2E
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- name: Connect to RobotActions
id: ra
uses: RobotActions/[email protected]
with:
api-token: ${{ secrets.RA_API_TOKEN }}
test-suite: ${{ github.workflow }} run ${{ github.run_number }}
release-id: ${{ github.sha }}
- run: npm run test:e2e
env:
GRID_URL: ${{ steps.ra.outputs.grid-url }}Run Your Next Build on Real Devices
The free tier needs no credit card. Point one suite at one device and compare it with your emulator run.