https://github.com/appium/appium-xcuitest-driver
Appium iOS driver, backed by Apple XCTest
https://github.com/appium/appium-xcuitest-driver
Last synced: 3 months ago
JSON representation
Appium iOS driver, backed by Apple XCTest
- Host: GitHub
- URL: https://github.com/appium/appium-xcuitest-driver
- Owner: appium
- License: apache-2.0
- Created: 2015-12-08T22:11:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2026-02-07T08:58:08.000Z (5 months ago)
- Last Synced: 2026-02-07T18:19:55.159Z (5 months ago)
- Language: TypeScript
- Homepage: https://appium.github.io/appium-xcuitest-driver/
- Size: 90.4 MB
- Stars: 837
- Watchers: 59
- Forks: 457
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# appium-xcuitest-driver
[](https://npmjs.org/package/appium-xcuitest-driver)
[](https://npmjs.org/package/appium-xcuitest-driver)
[](https://github.com/appium/appium-xcuitest-driver/actions/workflows/publish.js.yml)
This is an [Appium](https://appium.github.io/appium) driver for automating iOS applications on iOS,
iPadOS, and tvOS.
> [!IMPORTANT]
> Only macOS is supported as the host platform, as it requires Xcode and developer tools.
> [!IMPORTANT]
> Since major version *10.0.0*, this driver is only compatible with Appium 3. Use the `appium driver install xcuitest`
> command to add it to your distribution.
## Documentation
The [Documentation](https://appium.github.io/appium-xcuitest-driver) is hosted separately at
[https://appium.github.io/appium-xcuitest-driver](https://appium.github.io/appium-xcuitest-driver)
## Contributing & Development
Clone this project from GitHub and run:
```bash
npm install
```
To watch changes during the development:
```bash
npm run watch
```
To run unit/functional tests:
```bash
npm test # unit
npm run e2e-test # functional
```
There are also a number of environment variables that can be used when running
the tests locally. These include:
* `REAL_DEVICE` - set to anything truthy, makes the tests use real device capabilities
* `_FORCE_LOGS` - set to `1` to get the log output, not just spec
* `PLATFORM_VERSION` - change the version to run the tests against (defaults to `9.3`)
* `XCCONFIG_FILE` - specify where the xcode config file is for a real device run (if
blank, and running a real device test, it will search for the first file in
the root directory of the repo with the extension "xcconfig")
* `UICATALOG_REAL_DEVICE` - path to the real device build of UICatalog, in case
the npm installed one is not built for real device