TestProject enhances Appium’s driver and enables you to run iOS test automation on Windows operating system, without the need for macOS or Xcode!
The first thing you have to do is to get a TestProject account, no worries – it’s free! Then, you’ll have to follow this step-by-step tutorial to setup your iOS settings, and you’ll be good to go to start your iOS test automation projects.
- Step 1 – Prerequisites
- Step 2 – Get your Apple’s Developer Program Team ID
- Step 3 – Create a Certificate Signing Request (CSR)
- Step 4 – Create your Mobile Provisioning Profile
- Step 5 – Record or Develop iOS Test Automation using TestProject
Let’s get started!
Step 1 – Prerequisites
Step 2 – Get Your Apple’s 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. You can get it by following these steps:
2.1. Click on “Membership”:
*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 in step 1.2).
2.2. Copy your Team ID:
2.3. Open another tab with your TestProject account, click on your name at the upper right corner, click on “Account” and then click on “iOS” in the setting’s left menu (you will reach this page). Enter the Team ID you copied from Apple Developer Account’s Membership screen (step 2.2 above):
In order to sign the driver with your certificate, you need to create a Certificate Signing Request (CSR).
3.1. On TestProject’s iOS settings page, generate a new “Certificate Signing Request (CSR)”, by clicking “Generate new” and download a certificate signing request file:
3.3. Then, click on the “plus” icon at the upper right side of the screen:
3.4. Then, choose “iOS App Development” and click “Continue”:
3.5. Now, upload the CSR file generated by TestProject (in step 3.1 above):
3.6. Download the certificate:
3.8. 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:
Step 4 – 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.
4.1. Under “Profiles”, click on the “plus” icon:
4.2. Click on “iOS App Development” and click “Continue”:
Only in case 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/.
4.4. Select the certificate you have created in step 3.7 above, and click “Continue”:
4.5. Select your devices and click “Continue”:
4.6. Give your profile a name, and click “Generate”:
That’s it! 😉
If you’ve followed all of the steps above, you should see a toast popup in TestProject’s Platform 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 (on ALL operating systems, even iOS on Windows!).
If you see a toast with an error, go over this guide again and check the most common errors:
- The certificate you uploaded to TestProject was not the one that was generated using TestProject CSR (Certificate Signing Request). Go back to step 3.
- You selected the wrong App ID (You must choose the Wildcard option). Go back to step 4.3.
- The provisioning profile you uploaded does not contain the certificate that was generated using TestProject’s CSR. Go back to step 4.4.
Step 5 – Record or Develop iOS Test Automation using TestProject
So, what are you waiting for?
Go ahead and start testing your iOS Apps! 😎
For any questions or assistance, feel free to leave a comment below or contact us using one of our support channels: