How do I install the XCUITest runner app and ipa on a real device and get the results?
I have a runner.app that was generated by building it for testing, and a deployed/signed .ipa.
Now what I would like to happen is to have it installed on a real device, execute it, and get the device log.
Edited with answer...
It is possible to achieve this. In order to build an ipa of the UI Testing app bundle you can follow these steps:
- Open your project containing in Xcode.
- Select the device you'd like to build the ipa for next to the scheme. This can be an actual device or a simulator.
- Product > Build For > Testing
Find [your_ui_test_bundle_name].app file in Derived Data.
- Derived data by default is located at ~/Library/Developer/Xcode/DerivedData/
- To locate this file, dive into DerivedData for your project, navigating to Build > Products and then the respective directory based on what you chose in step 2. If you chose a simulator, look in -iphonesimulator/ or if you chose a device look in -iphoneos/. The UI test bundle .app file should be in that directory.
Create a directory named Payload case sensitive and it must be named this.
- Move the .app file into the Payload directory.
- Compress the Payload directory.
- Rename the compressed directory to have a file extension of .ipa. You'll be prompted and select Keep .ipa.
Now you have you UI test bundle application saved as an ipa. You can also upload this ipa to a device manually in Xcode via the following process (bonus info, yay!)
- Window > Devices and Simulators
- Select your connected device.
- Tap the + button under Installed Apps.
- Navigate to and select your UI test .ipa file that you compressed previously.
- It should install onto the device.
Credit where it is due: https://medium.com/ios-os-x-development/how-to-run-your-iphone-test-on-aws-device-farm-98f18086811e