8.0+40.6
iOS

These options are available to control the testing of iOS applications:

Options for iOS Tests
Figure 40.32:  Options for iOS Tests
'Show iOS Device Agent Output' (User)
SUT script name: OPT_IOS_PRINT_AGENT_OUTPUT
Possible Values: VAL_IOS_PRINT_AGENT_OUTPUT_NONE, VAL_IOS_PRINT_AGENT_OUTPUT_INSTRUMENT, VAL_IOS_PRINT_AGENT_OUTPUT_EXEC, VAL_IOS_PRINT_AGENT_OUTPUT_ALL

During the start and the execution of iOS tests, a Xcode build is executed to build and run the required device agent. During normal execution, the detailed output of the process is hidden from the terminal.

While tracking down errors, it might be helpful to display the process output in the terminal. This can be enabled for the device instrumentation, the execution or both phases of the test.

'Hide simulator when recording window is shown' (User)
SUT script name: OPT_IOS_AUTO_HIDE_SIMULATOR
Possible Values: VAL_IOS_AUTO_HIDE_SIMULATOR_ALWAYS, VAL_IOS_AUTO_HIDE_SIMULATOR_NEVER, VAL_IOS_AUTO_HIDE_SIMULATOR_ONOPEN

As with Android testing, the interaction for inspection and test recording has to be performed on a dedicated window, see Record actions and checks for iOS. When using the Simulator to execute the application under test, it can be confusing when the user interface is visible twice - in the Simulator window and in the recording window.

To avoid confusion, QF-Test can automatically hide the Simulator window when the recording window is opened. When you explicitly switch to the Simulator, its window will be reactivated. However, if you choose "Always", additionally to hiding the Simulator, switching to the simulator will bring up the recording window - as long as it is open.

'Close simulator after test' (User)
SUT script name: OPT_IOS_AUTO_CLOSE_SIMULATOR
Possible Values: VAL_IOS_AUTO_CLOSE_SIMULATOR_YES, VAL_IOS_AUTO_CLOSE_SIMULATOR_NO, VAL_IOS_AUTO_CLOSE_SIMULATOR_AUTO

To control the iOS device or the Simulator, QF-Test uses a controller client. If required, the iOS Simulator is started by QF-Test along with the controller. By default, the Simulator is also closed when the controller client is stopped.

During test development, it might be helpful to keep the Simulator running, even when the QF-Test controller client was stopped. It is possible to define here that the Simulator should not be closed together with the controller, or only if it was opened by the controller client itself.

'Restart Simulator if connection is lost' (System)
SUT script name: OPT_IOS_RESTART_SIMULATOR

When the connection to the iOS device gets interrupted during a test run, QF-Test automatically restarts the device agent to reestablish the connection. If the iOS target device is simulated, QF-Test by default assumes that the Simulator was closed intentionally to stop the test run. With this option, it is possible to enable the connection recovery also for Simulator connections, including a restart of the Simulator app.

'Code Signing Team ID / Organizational Unit' (System)
SUT script name: OPT_XCODE_DEVELOPMENT_TEAM

QF-Test can execute tests on apps running directly on an iOS device. Due to platform restrictions, the device agent, which is temporarily installed on the device to perform the required interactions, has to be automatically signed using a valid iPhone Developer Certificate. To identify the certificate, the Team ID (also known as "Certificate Organizational Unit") has to be provided.

The Team ID is a unique 10-character string generated by Apple assigned to your team. You can find your Team ID listed under the "Organizational Unit" field in your iPhone Developer certificate in your keychain. You can also find your Team ID using your developer account. Sign in to https://developer.apple.com/account, and scroll to the Membership details. Your Team ID appears in the Membership Information section under the team name.

To generate a development certificate, open the Settings dialog of Xcode, select the "Accounts" tab and add your developer account there using your Apple ID.

'Code Signing Identity' (System)
SUT script name: OPT_XCODE_CODE_SIGN_IDENTITY

Normally, this value can be left empty, since Xcode automatically deduces the Signing ID from the certificate specified by the Team ID, but sometimes, a dedicated Signing ID has to be provided (usually Apple Developer or iPhone Developer).

'Allow automatic provisioning profile creation' (System)
SUT script name: OPT_XCODE_ALLOW_PROVISIONING_UPDATES

If enabled, a provision profile to execute the agent on the connected device can be created automatically by Xcode during device instrumentation.

'Allow automatic device registration' (System)
SUT script name: OPT_XCODE_ALLOW_PROVISIONING_DEVICE_REGISTRATION

If enabled, a new device can be registered automatically by Xcode during device instrumentation.

'Custom iOS Device Agent Bundle ID' (System)
SUT script name: OPT_IOS_AGENT_BUNDLE_ID

Xcode may fail to create a provisioning profile for the agent - especially when using a free developer account. Here it is possible to manually change the bundle id for the agent to something Xcode will accept.