Getting started with iOS testing from Windows

The TestProject framework enables you to run iOS test automation on Windows operating system, without the need for macOS or Xcode! In order to get started with this you can follow this step-by-step tutorial to setup your iOS settings.

Prerequisites

  • You need the TestProject Agent to be installed and running on your computer.

  • You must have an active Apple Developer Account (Notice that this is not the same as Apple ID).

Get Your Apple Developer Program Team ID

The first thing you need to do is to provide your Apple’s Developer Program Team ID from Apple Developers Portal. The Team ID is a 10-character string that’s generated by Apple to uniquely identify your team. In order to get you team ID log into the developer portal and click on “Membership”:

Apple Developer Program

Note that you have to have the “Apple Developer Program” label (as seen in the image above). If you don’t have this label, it means that you only have a simple Apple ID and that you do not have an Apple Developer Program subscription (As required in the prerequisites above).

You can then copy your Team ID.

You will need to put that ID into your TestProject account so you will need to log into TestProject in another tab and click on your name at the upper right corner. Choose the "Account” option on the menu and click on “iOS” in the setting’s left menu. You can then enter the Team ID you copied into the "Apple Team ID" field.

iOS on Windows

Create a Certificate Signing Request (CSR)

In order to sign the driver with your certificate, you need to create a Certificate Signing Request (CSR).

To do this go to TestProject’s iOS settings page, generate a new “Certificate Signing Request (CSR)”, by clicking “Generate new” and download a certificate signing request file:

Generate New Certificate Signing Request

You will then need to go back to Apple Developers Portal and upload the CSR file you generated. To do this you need to click on “Certificates, IDs & Profiles”:

Apple Developers Portal Certificates Tab

Then, click on the “plus” icon at the upper right side of the screen:

Add a Certificate

Choose “iOS App Development” and click “Continue”:

iOS App Development

Now you can upload the CSR file you generated in the TestProject App.

Upload the File

Once the upload has completed, download the certificate from the Developer Portal:

Download Certificate

You should be able to see your certificate on the list below:

TestProject Certificate

Now you have to upload the certificate generated by Apple to TestProject. Head back to TestProject’s iOS settings page, and click “Upload New” in the “Certificate” section:

Upload New Certificate

Create your Mobile Provisioning Profile

Back in the Apple Developer Portal, you need to complete the provisioning process. The provisioning profile is used by Apple to list the eligible devices where the driver can be installed.

Under “Profiles”, click on the “plus” icon:

Add new Profile

Click on “iOS App Development” and click “Continue”:

Use iOS App Development

Now you will need to choose the App ID and click “Continue”: *Important: Make sure to choose the “Wildcard” option.

Choose App ID

If you don’t have a “Wildcard” option in the dropdown (as seen in the image above), you will need to create the Wildcard App ID manually by completing the steps described here: https://blog.testproject.io/2019/01/29/create-wildcard-app-id-ios/.

Select the certificate you created in above and then click “Continue”:

Select Certificate

Select your devices and click “Continue”:

Pick Devices

Give your profile a name and click “Generate”:

You will then need to download the newly generated provisioning profile:

Download the provisioning profile

Now, go back to TestProject’s iOS settings page, under “Provisioning Profile”, click “Upload new” and upload the provisioning file you just downloaded:

Upload Provisioning File

And that’s it! If you’ve followed all of the steps above, you should see a toast popup in the TestProject website informing you that the provisioning has been completed successfully, and you will see a list of all eligible devices you can use with TestProject for your iOS test automation.

If you see a toast with an error, go over this guide again and check the most common errors:

  1. The certificate you uploaded to TestProject was not the one that was generated using TestProject CSR (Certificate Signing Request). Go back to the step on creating certificate signing.

  2. You selected the wrong App ID (You must choose the Wildcard option).

  3. The provisioning profile you uploaded does not contain the certificate that was generated using TestProject’s CSR. Carefully work through this step again.

Record or Develop iOS Test Automation using TestProject

Now that you have everything setup you can record your iOS tests from a Windows machine.