Set up Appium 2 to Run XCUITest (for iOS)

Setup and run an Appium 2 automated iOS test with XCUITestDriver

Courtney Zhan


Update: Check out the annotated version by my father.

Appium is a free, open-source and dominating test automation framework for desktop and mobile applications. Appium, like Selenium, is WebDriver-based.

Image Credit:

“For all of our end-to-end tests at Facebook we use WebDriver, WebDriver is an open-source JSON wired protocol, I encourage you all check it out if you haven’t already. ” — Katie Coons, a software engineer at Product Stability, in “Continuous Integration at Facebook

As this Facebook engineer said in the presentation, by using WebDriver-based automation framework, the automation test scripts for iOS, Android and Web, the APIs are very similar. This means big time-saving! It comes as no surprise, Microsoft dumped its own Coded UI Test tool and recommended Appium and Selenium too.

Microsoft deprecated Coded UI Test and recommend Selenium and Appium in 2018

Appium version 2 is coming out soon and is already in Beta, the latest version 2.0.0.beta 46.

This tutorial will show you how to set up Appium v2 on a macOS computer to run XCUITests on a sample iOS app.

Set up Appium Server

1. Install Node.js (the latest version is 19, recommended to use 18)

If you already have Node, you can use Homebrew to update it to the latest version with:

brew update # optional, updates brew and tells you if node has a newer version
brew upgrade node@18

If you do not have Node, install it by running:

brew install node@18