Submitting the iOS App And Test
- PDF for offline use
Let us know how you feel about this
last updated: 2016-09
Creating the IPA
Xamarin Test Cloud requires that you submit an IPA for testing. To build the IPA:
Select the SimpleCreditCardValidator target and specify Generic iOS Device:
Build an archive by selected Product > Archive. Xcode will build an archive and display a dialog box with a list of :
Click on the Export button, and export the archive to an Ad-Hoc IPA on your computer:
Now that we have all the pieces, we can go ahead and submit the tests and the IPA to Xamarin Test Cloud.
Submitting the Test to Xamarin Test Cloud
Tests are submitted at the command line using the test-cloud application that was installed by the Calabash installer script. You will need following four pieces of information:
- The path to the IPA that was created in the previous section.
- The iOS device ID when the test run was created.
- The API key for the team.
- The e-mail address of a user who is a part of the Test Cloud team.
The Test Run wizard will provide you with the command line that you can use to submit your tests. For the sake of reference this following snippet is the simplest command line that you can use to submit your tests:
$ test-cloud submit <PATH TO IPA> <XTC TEAM API KEY> \ --devices <IOS DEVICE ID> \ --user <XTC USER ID>
test-cloud will display progress to the console while it is running. You can see some of thiså output below:
< PART OF THE OUTPUT REMOVED TO SAVE SPACE > Running on Devices: Apple iPhone 5 (8.3) Apple iPhone 5C (8.2) Apple iPhone 5C (8.3) Apple iPhone 5S (8.1.3) Apple iPhone 5S (8.2) Apple iPhone 5S (8.3) Apple iPhone 6 (8.1.3) Apple iPhone 6 (8.2) Apple iPhone 6 (8.3) Apple iPhone 6 Plus (8.3) 2015-05-14 14:03:17 -0600 Enqueued for validation 2015-05-14 14:03:28 -0600 Testing: 0 running, 10 enqueued, 0 complete... 2015-05-14 14:03:39 -0600 Testing: 0 running, 10 enqueued, 0 complete... 2015-05-14 14:03:50 -0600 Waiting for devices... 2015-05-14 14:04:00 -0600 Waiting for devices... 2015-05-14 14:04:11 -0600 Testing: 0 running, 10 enqueued, 0 complete... 2015-05-14 14:04:22 -0600 Testing: 0 running, 10 enqueued, 0 complete... 2015-05-14 14:04:33 -0600 Testing: 1 running, 9 enqueued, 0 complete... 2015-05-14 14:04:44 -0600 Testing: 8 running, 2 enqueued, 0 complete... 2015-05-14 14:04:54 -0600 Testing: 10 running, 0 enqueued, 0 complete... 2015-05-14 14:05:06 -0600 Testing: 10 running, 0 enqueued, 0 complete... 2015-05-14 14:05:16 -0600 Testing: 9 running, 0 enqueued, 1 complete... 2015-05-14 14:05:27 -0600 Testing: 8 running, 0 enqueued, 2 complete... 2015-05-14 14:05:38 -0600 Testing: 2 running, 0 enqueued, 8 complete... 2015-05-14 14:05:49 -0600 Done! 2015-05-14 14:05:49 -0600 Total scenarios: 1 2015-05-14 14:05:49 -0600 10 passed 2015-05-14 14:05:49 -0600 0 failed 2015-05-14 14:05:49 -0600 Total steps: 3 2015-05-14 14:05:49 -0600 2015-05-14 14:05:49 -0600 Test Report: 2015-05-14 14:05:49 -0600 https://testcloud.xamarin.com/test/com.xamarin.testcloud.quickstart.simplecreditcardvalidator-cal_4f931d9c-a275-4e83-827b-ca4288cd8282/
When the test run is finished, you will be able to check the test results in one of two ways:
- test-cloud will provide you with a URL to view the results of the test run. Copy and paste that URL into to your browser to see the test results.
- Xamarin Test Cloud will send you an e-mail with a summary of the test run and a link to to view the test result details.
You might see an error/warning about requiring a Gemfile. For the purposes of this quick start, it is safe to ignore the error and warning, as a Gemfile is created for the test run. It is strongly recommended that a Gemfile be used for production level testing.
In order for tests to be submitted to Xamarin Test Cloud, the computer submitting the tests must be able to communicate with the Test Cloud servers. Firewalls must be configured to allow network traffic to and from the servers located at testcloud.xamarin.com on ports 80 and 443. This endpoint is managed by DNS and the IP address is subject to change.
In some situations, a test (or a device running the test) must communicate with web servers protected by a firewall. In this scenario the firewall must be configured to allow traffic from the following IP addresses: