Skip to content

DeviceAgent

Joshua Moody edited this page Sep 13, 2016 · 9 revisions

WIP

DeviceAgent

Apple has removed UIAutomation from Xcode 8. Our replacement for UIAutomation is DeviceAgent. DeviceAgent is based on Apple's XCUITest framework.

Our goal for this transition is 100% backward compatibility with UIAutomation. We think we are close, but we need your help to discover what is missing. Since UIAutomation is not available, all uia_* calls now raise an error when tests are run with DeviceAgent. The text of the error will have workarounds and examples to help you transition your tests. When you find something you cannot do with DeviceAgent, please create a GitHub issue.

CODE_SIGN_IDENTITY

Testing on physical devices now has an additional requirement: code signing.

# Find the valid code signing identities
$ xcrun security find-identity -v -p codesigning
  1) 18<snip>84 "iPhone Developer: Your Name (ABCDEF1234)"
  2) 23<snip>33 "iPhone Distribution: Your Company Name (A1B2C3D4EF)"
  3) 38<snip>11 "iPhone Developer: Your Colleage (1234ABCDEF)"

# Chose an "iPhone Developer" certificate.

$ CODE_SIGN_IDENTITY="iPhone Developer: Your Name (ABCDEF1234)" \
   DEVICE_TARGET=< udid | name> \
   DEVICE_ENDPOINT=http://< ip >:37265 \
   bundle exec cucumber

UIA => DeviceAgent

Clone this wiki locally