Testing on mobile devices has many challenges, especially when you're working with iOS. The Diagnostics tab in the iOS Gateway mobile VNC server application helps you troubleshoot signing, Xcode, provisioning, and compatibility problems that can affect testing in Eggplant Functional
Run and Interpret the Tests
In iOS Gateway, select the Diagnostics tab and click Run Checks. The iOS Gateway application runs a series of checks for compatibility, and displays statuses for each:
Good: The conditions for the test have been satisfied.
Warning: The diagnostic test found a problem, but you should still be able to automate the iOS device.
Error: The diagnostic test failed, and you must take action before you can automate the iOS device.
In addition to displaying the results in the user interface, iOS Gateway also creates a log file. Note that each run of the diagnostics overwrites this log file, so if you want to save the results of a run, click Save Results. You also can send the results of the diagnostic checks to Eggplant support by clicking Submit Diagnostics.
The diagnostic checks are:
What it checks: Verifies that Xcode is installed on your Mac.
Results: Lists instances of Xcode on your Mac, with the path to and version number for each. Also lists the build number and indicates which version of Xcode is active.
Troubleshooting: To install the newest version of Xcode, go to the Apple menu > App Store and search for Xcode. If you need a previous version of Xcode, go to the Apple Developer website, log in, go to Downloads > See more downloads, then search for the version that you need.
What it checks: Compares the active version of Xcode with the version of iOS on the currently selected device to ensure that they're compatible.
Results: If Xcode and iOS versions are incompatible, tells you which version of Xcode you need to automate that device.
Troubleshooting: If you have the correct version of Xcode installed on your Mac, activate it. To install the newest version of Xcode, go to the Apple menu > App Store and search for Xcode. If you need a previous version of Xcode, go to the Apple Developer website, log in, go to Downloads > See more downloads, then search for the version that you need.
What it checks: Checks to see if the selected iOS device has been added to the developer account you're using.
Results: Displays whether or not the device was found in your Apple developer account.
Troubleshooting: You must set up automatic signing in iOS Gateway for this check to run. When automation starts, iOS Gateway adds the device to your profile. You can also manually add a device to your Apple developer account.
What it checks: Checks to see if an Apple signing certificate is installed in the local Keychain.
Results: Lists any developer certificates found on your Mac.
What it checks: Checks for private keys in any Apple developer accounts found on the Mac.
Results: Lists developer accounts and whether or not those accounts have private keys.
What it checks: Checks that developer certificates are within their valid date ranges.
Results: Lists available developer certificates and their valid dates, with Valid: YES or Valid: NO. If any of the certificates on your Mac have expired, this check will show Warning status.
What it checks: Checks the valid dates of your available provisioning profiles.
Results: Lists available provisioning profiles and their valid dates, with Valid: YES or Valid: NO. If any of the profiles on your Mac have expired, this check will show Warning status.
What it checks: Checks local provisioning profiles for local valid Apple developer certificates.
Results: Lists available provisioning profiles and their Apple developer certificates.
What it checks: Checks local provisioning profiles to see if the selected iOS device is associated.
Results: If the selected device is included in an available provisioning profile, returns "Provisioning profile profile_name is valid for device_name." If the selected device is not included in an available provisioning profile, returns "No provisioning profile found with device_name."
Check Provisioning Profile for Recommended Application Identifier
What it checks: Checks the active provisioning profile for the App ID com.testplant.*, which is recommended when testing with iOS Gateway.
Results: If the selected provisioning profile contains com.testplant.*, returns Success. If the selected provisioning profile doesn't have the recommended App ID associated with it, returns Warning. If no provisioning profile is selected, returns Error.
Troubleshooting: If Warning status, add com.testplant.* to the provisioning profile. If Error, make sure you have a provisioning profile selected.