Wednesday, September 2, 2015

Xamarin Test Cloud: How to deploy your tests

Step 1: Go to https://testcloud.xamarin.com/

Step 2: Login and see your dashboard.

Step 3: Click "New Test Run" on the top right. Click which type of app you want to run tests for first.

Step 4: Select devices you want to run the test on.

Step 5: Test series is how your tests will be organized on your dashboard. You can order them by the number of test runs you plan to execute. So if you are only doing 5 or so devices, it is nice to label it small. Then you can do medium and large depending on your audience.

Step 6: Take this code, fill in the details for your application (apk file, assembly directory..).. the part I blue marked out is my API key and my email address (which you will have filled in for your test run). Then go into the Apple terminal and put it in.. submit it, and your tests will be added to Test Cloud! You can login and see your runs on their website.

You can put "--category "smoke"", or whatever attribute is above your tests to only run certain ones. If you look at my previous Xamarin post, I mentioned you can have
[Test]
[Category("smoke")]  // attribute for sending only certain tests
[Category("whatever2")]
public void TestNameHere()
{

}
And you add it to the Terminal code at the end like this..!
mono packages/Xamarin.UITest.1.0.0/tools/test-cloud.exe submit ../something.ipa APIKEYHERE --devices f37a5aa9 --series "small" --locale "en_US" --user hello@world.com --assembly-dir StuffHere/bin/Debug --category "smoke"
Or for Windows command prompt, something like this and change api key to the one given to you:
Users\ctenn\Desktop\testcloud\testcloud\AAA\packages\Xamarin.UITest.1.0.0\tools\test-cloud.exe submit CCApp\testcloud\com.AAA_TESTCLOUD_14_2.apk APIKEYHERE --devices d3939da0 --series "weekend" --locale "en_US" --app-name "AAA" --user email@email.com --assembly-dir CCApp\testcloud\AAA\AAA\bin\Debug
NOTE 1: You can also use Xamarin studio, go into your Test explorer, right click (or double tap whichever it is) the test you want.. and then click to submit it to Test Cloud. (I am just a stubborn web developer who lives off of Windows and Visual Studio).

NOTE 2: General expectations for how well applications will work on devices depends heavily on the device. Goal is to find out your audience and what types of phones they use to cover the vast majority of them. It is best to get the top say 10-20 devices working as close to 100% as you can. Then work to try and support bigger audience. When you get to the 40 newest devices point, you will start seeing massive fails in performance based on their capacity to deal with new applications and you can't really expect them to work perfectly. Chances are you will have difficulty supporting more than the top 80 realistically based on those phone's ability to perform and their memory.