Xcode UI Test Runner and Code Signing
iOS Code Signing
An Xcode UI Test is deployed to iOS devices like standard iOS applications. As a result, they are also subject to the same code signing requirements as normal iOS applications.
Your need a iOS code signing identity (certificate) to sign your Xcode UI Test, and a provisioning profile which allows you to deploy applications signed with your iOS code signing certificate to your iOS devices.
You can obtain an iOS code signing identity by:
- Enrolling in the Apple Developer Program
- Enrolling in the Apple Developer Enterprise Program
- Signing up as an Apple Developer
You must complement an your iOS code signing identity with a provisioning profile, which allows you to run applications signed with your iOS code signing identity on specific devices.
Provisioning profiles include so-called entitlements, which are permissions granted to your application.
Your provisioning profile must include the so-called
get-task-allow entitlement. This entitlement grants
your application special developer or debugging rights, such as acting as an Xcode UI Test and automating
your iOS device. iOS applications distributed through the App Store do not have this entitlements.
iOS code signing identities and provisioning profiles can be managed by Xcode and exported through
Developer Profiles. Developer Profiles are simple
.zip files. You can update developer profiles through
Xcode or manually.
xcuitrunner and Code Signing
When you launch WDA using xcuitrunner, you can specify a developer profile (using the
When you launch a Xcode UI Test using
xcuitrunner inspects your developer profile
and selects a matching code signing identity and provisioning profile.
Updating provisioning profiles
You need to add your iOS device to your provisioning profile. You can add new iOS devices to your provisioning
profile using the Apple Devleoper Portal. If you add this updated provisioning profile to your developer profile,
xcuitrunner will automatically detect it next time you launch and Xcode UI Test.
- Update your provisioning profile using the Apple portal
- Download the updated provisioning profile
- Add the updated provisioning profile to your developer profile
- Launch WDA using xcuitrunner, and specify the updated provisioning profile
- WDA will be resigned with the updated provisioning profile and pushed to your device
Compiling Xcode UI Tests
Most customers use
xcuitrunner to launch WebDriverAgent.
xcuitrunner ships with an embedded, pre-compiled copy of WebDriverAgent. This means you do not need to compile
WebDriverAgent yourself. If required, you can also specify your own copy of WebDriverAgent.
For more information about the Quamotion xcuitrunner command-line utility, contact us at firstname.lastname@example.org.