switching from BrowserStack

Real devices. About 40% less than BrowserStack.

Keep your Appium suite and the BrowserStack device names it uses. Point it at the Kifas hub, upload your app, and run on real iPhones and Android phones.

1,000 credits, no card, 14 days.

Typical real-device quote
BrowserStack
Kifas
~40% less*
iOSiPhone 16ANDGoogle Pixel 9iOSiPhone 15ANDSamsung Galaxy S24iOSiPhone 16 ProANDGoogle Pixel 8

* Illustration of the typical saving, not a price. Based on quotes we've given to teams currently on BrowserStack. Your saving depends on your devices and concurrency; send us your quote and we'll show you the number.

1,000 free creditsNo card, 14 days
Pay for usage, not seatsAdd the whole team at no extra cost
Self-healing testsFixes are re-run and proven before they land
Checks on every pull requestResults in GitHub before you merge
The saving

Where the 40% comes from

Teams moving from BrowserStack typically save around 40%.

Based on quotes we've given to teams currently on BrowserStack. Your saving depends on your devices and concurrency; send us your quote and we'll show you the number.

Plug and play

Change the hub. Keep the suite.

Three steps, no rewrite. Your BrowserStack capabilities are read as they are.

  1. 01

    Point your config at the Kifas hub

    Set the hub address and swap in your Kifas API key. One config can serve both while you compare.

  2. 02

    Upload your app to Kifas

    The GitHub Action uploads the build for you and hands your config the app id.

  3. 03

    Run the suite you already have

    BrowserStack device names, OS versions and session status calls keep working. Turn off the BrowserStack SDK or service and run.

One config for bothwdio.conf.js
const kifasHub = process.env.KIFAS_REMOTE_URL
  ? new URL(process.env.KIFAS_REMOTE_URL)
  : null

exports.config = {
  hostname: kifasHub ? kifasHub.hostname : 'hub-cloud.browserstack.com',
  port: kifasHub ? Number(kifasHub.port || 443) : 443,
  path: kifasHub ? kifasHub.pathname : '/wd/hub',
  protocol: kifasHub ? kifasHub.protocol.replace(':', '') : 'https',
  user: process.env.KIFAS_USERNAME ?? process.env.BROWSERSTACK_USERNAME,
  key: process.env.KIFAS_ACCESS_KEY ?? process.env.BROWSERSTACK_ACCESS_KEY,
  capabilities: [
    {
      platformName: 'Android',
      'appium:deviceName': 'Google Pixel 8',
      'appium:platformVersion': '14.0',
      'appium:app': process.env.KIFAS_APP ?? process.env.BROWSERSTACK_APP,
    },
  ],
}
Run it in CI.github/workflows/mobile.yml
- name: Run on Kifas
  uses: kifasio/e2e-action/remote-webdriver@v1
  with:
    api-key: ${{ secrets.KIFAS_API_KEY }}
    project-id: ${{ vars.KIFAS_PROJECT_ID }}
    suite-name: smoke
    build-name: ${{ github.run_id }}
    build-id: ${{ github.run_id }}
    app-path: app/build/outputs/apk/debug/app-debug.apk
    test-command: |
      BROWSERSTACK_USERNAME="$KIFAS_USERNAME" \
      BROWSERSTACK_ACCESS_KEY="$KIFAS_ACCESS_KEY" \
      BROWSERSTACK_APP="$KIFAS_APP" \
      npx wdio run wdio.conf.js
Side by side

Kifas and BrowserStack

KifasBrowserStack
Real iPhones and Android phones✓✓
How you payCredits for what you runPlans priced per dedicated parallel device
Visual snapshotsPixel snapshots freePercy, priced by screenshots

Also in Kifas, at no extra cost

A testing agent

It reads your repo, writes tests in plain language and runs them on every push.

Self-healing you can review

A drifted test gets a fix that is re-run and proven before it lands. A real bug comes with repro steps.

Checks in your pull requests

Results land as GitHub checks before you merge.

FAQ

Questions teams ask before switching

How is the 40% calculated?

It comes from quotes we've given to teams currently on BrowserStack, compared with what they pay today. BrowserStack doesn't publish a price for comparable real-device plans, so the only honest way to know your number is to send us your quote and we'll show you ours.

Do I need to rewrite my tests?

No. Appium suites driven by WebdriverIO or selenium-webdriver run on the Kifas hub. You change the hub address and credentials, upload your app to Kifas, and turn off the BrowserStack SDK or service. BrowserStack device names like Google Pixel 8 keep working.

Which devices are supported?

76 real iPhone, iPad and Android models in our Device Farm, matched to the device names BrowserStack uses, with their OS versions. The full, searchable list is at kifas.io/devices.

Can I run web tests too?

Yes. Playwright connects to Kifas cloud browsers over CDP, on Chromium and Firefox. Visual checks and the testing agent work on the web as well.

What about our Percy visual tests?

Kifas has visual testing built in: pixel checks against an approved baseline, AI checks for when you only care that the screen is right, and a review queue. Pixel snapshots cost no credits.

How do we start?

Start free with 1,000 credits and no card, or send us your current quote and we will set up a trial on the devices you use.

Run your suite on real devices this week.

Start free, or send us your BrowserStack quote and we'll show you the difference.

1,000 credits, no card, 14 days.

BrowserStack and Percy are trademarks of their respective owners.