Before the workshop starts, make sure your machine is set up correctly. Depending on your download speed this takes 30-60 minutes, so do this before you arrive.
Important
The workshop is packed and we don't have time to troubleshoot installation issues on the day itself. Please make sure everything is set up and the check script passes before you arrive. If you get stuck, reach out in advance so we can help.
Note
Appium is not part of this setup guide. During the workshop we pull in the Appium server, drivers, and Appium Inspector together as project dependencies. You do not need to install Appium now.
Make sure your machine meets these minimum versions before starting. If something is missing or too old, the steps below walk you through installing or updating it.
| Tool | Minimum version | How to check |
|---|---|---|
| Git | 2.x | git --version |
| Node.js | 22+ (even versions only: 22, 24, ...) | node --version |
| Visual Studio Code | Latest | code --version |
| Android Studio | Panda | Android Studio → About |
| Android SDK | API 35 (Android 15) or higher | Android Studio → SDK Manager |
| Xcode (macOS only) | 26.4 | xcodebuild -version |
| iOS Simulator (macOS only) | iOS 26.2 or higher | Xcode → Settings → Platforms |
| Tool | Why we need it |
|---|---|
| Git | To clone this repository and run the check script |
| Node.js (via NVM) | WebdriverIO runs on Node.js |
| Visual Studio Code | The editor we use to write and run tests |
| Android Studio | Gives us the Android SDK and the emulator |
| Xcode (macOS only) | Gives us the iOS Simulator |
Git is used to clone this repository to your machine.
See docs/git.md for full instructions.
Quick check: open a terminal and run:
git --versionIf you see a version number (e.g. git version 2.x.x), you're good. If not, follow the guide above.
Clone this repository to your machine so you can run the setup check script.
Open a terminal and run:
git clone https://github.com/webdriverio/setup-workshop-mobile-automation-with-appium.git
cd setup-workshop-mobile-automation-with-appiumNVM (Node Version Manager) installs and manages Node.js for you. It avoids permission issues and makes switching versions easy later.
macOS
See docs/nvm-mac.md for full instructions.
Quick steps:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bashClose your terminal completely and open a new one, then:
nvm install --lts
nvm use --lts
node --version # should print v22.x.x or v24.x.xLinux
See docs/nvm-linux.md for full instructions.
Quick steps:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bashClose your terminal completely and open a new one, then:
nvm install --lts
nvm use --lts
node --version # should print v22.x.x or v24.x.xWindows
See docs/nvm-windows.md for full instructions, including alternatives via winget and Chocolatey.
On Windows we use nvm-windows. Pick whichever installation method suits you:
Option A, installer:
- Download
nvm-setup.exefrom the nvm-windows releases page. - Run it and keep all default options.
Option B, winget:
winget install CoreyButler.NVMforWindowsOption C, Chocolatey:
choco install nvmAfter installing with any of the options above, open a new PowerShell window and run:
nvm install lts
nvm use lts
node --version # should print v22.x.x or v24.x.xVS Code is the editor we use to write and run our tests during the workshop.
See docs/vscode.md for full instructions including recommended extensions.
Quick steps:
- Download from https://code.visualstudio.com and install.
- Open a new terminal and verify:
If it says
code --version
command not found, the check script (step 7) can fix this for you.
Android Studio gives us the Android SDK and lets us run a virtual phone (emulator) on your computer.
See docs/android-studio.md for full instructions.
Quick steps:
- Download Android Studio from https://developer.android.com/studio and install.
- Run the Setup Wizard inside Android Studio, choose Standard.
- Set
ANDROID_HOMEand addplatform-tools+emulatorto yourPATH(the check script can do this for you automatically). - Open Device Manager, create a Pixel 9 device with API 36, and start it.
- Confirm with:
adb devices # List of devices attached # emulator-5554 device
Starting an emulator from the terminal:
emulator -avd Pixel_9_API_36Or use start-android-emulator for an interactive picker:
npx start-android-emulatoriOS automation requires Xcode, which is only available on macOS. If you're on Windows or Linux you'll focus on Android during the iOS parts of the workshop.
See docs/xcode-ios.md for full instructions.
Quick steps:
- Install Xcode from the App Store (≈ 15 GB, download in advance!).
- Accept the licence:
sudo xcodebuild -license accept - Install platform tools:
xcodebuild -runFirstLaunch - Open Xcode → Settings → Platforms and make sure an iOS runtime is installed.
- Start a simulator from the terminal:
xcrun simctl boot "iPhone 17 Pro" open -a Simulator
From inside the cloned folder, run:
npm run checkThe script checks each tool and tells you exactly what is working and what isn't. It can also fix some things automatically when it prompts you with [y/N].
Fix anything marked with ✘ before the workshop. Warnings (⚠) are fine to leave.
Example of a passing check:
Git
✔ git version 2.47.1
Node.js
✔ node v22.14.0
✔ npm 10.9.2
Visual Studio Code
✔ Visual Studio Code 1.99.0
Java
✔ Java, openjdk version "17.0.10"
Android
✔ ANDROID_HOME = /Users/you/Library/Android/sdk
✔ adb, Android Debug Bridge version 1.0.41
✔ Android emulator found. Available AVDs:
Pixel_9_API_36
⚠ No running Android devices or emulators (fine before the workshop)
iOS (macOS only)
✔ Xcode, /Applications/Xcode.app/Contents/Developer
✔ xcodebuild, Xcode 26.4
⚠ No iOS Simulator currently running (fine before the workshop)
──────────────────────────────────────────────────
All checks passed! Your machine is ready for the workshop.
If you get stuck, each guide in the docs/ folder has a troubleshooting section at the bottom.
| Problem | Where to look |
|---|---|
| Git not found | docs/git.md |
nvm not found after install |
docs/nvm-mac.md / docs/nvm-linux.md / docs/nvm-windows.md |
code command not working |
docs/vscode.md |
adb not found |
docs/android-studio.md |
| Emulator won't start | docs/android-studio.md |
| Xcode issues | docs/xcode-ios.md |
Still stuck? Reach out before the workshop so we can sort it out in advance.
You do not need to install any of the following ahead of time:
- Appium server
- Appium drivers (
uiautomator2for Android,xcuitestfor iOS) - Appium Inspector
- The workshop project itself and its dependencies
We pull all of these in together during the workshop as project dependencies.