Visual Studio App Center Test is the next generation of Xamarin Test Cloud! Read the blog post.

Migrating Solutions for Test Cloud Integration

PDF for offline use
Related Articles:

Let us know how you feel about this

Translation Quality


last updated: 2016-10

This guide will discuss how to migrate your old UITest solutions to take advantage of the IDE integration provided by Visual Studio for Mac and Visual Studio.



This guide is deprecated and is no longer maintained.

Starting with Visual Studio for Mac 5.9 and Xamarin for Visual Studio 3.11, Xamarin enhanced support for Test Cloud in each IDE:

  • Updated Templates – New templates for mobile solutions that include a UITest project.
  • Run Test in Test Cloud – It is now possible to run UITests in Test Cloud using Visual Studio for Mac or Visual Studio.

This guide will cover how to upgrade older projects that were created before the Test Cloud integration features were added to Visual Studio for Mac or Xamarin for Visual Studio.

The general process for migrating older UITest projects is as follows:

  1. Upgrade to Visual Studio for Mac 5.9 or Xamarin for Visual Studio 3.11
  2. Update the UITest Nuget package – IDE integration is provided in version 2.0.0 or higher of the NuGet package.
  3. Point the UITest project to the application projects – In order for the IDE to run the UITests for you, it needs to know about the mobile projects in the solution file. How to do this is covered in the following section.
  4. Remove any explict UITest calls that load the APK / IPA – (optional) Your old tests may have code with the location of the APK or IPA hard coded. Once UITest project points to the test project, the IDE will set the path to the application bundle for you.


If you have created your solution using Visual Studio for Mac 5.9 or Xamarin for Visual Studio 3.11 or higher, your solution automatically has a UITest project that is configured to take advantage of running tests in the IDE.

Pointing the UITest Project to the Mobile Projects

The most significant change is to update the UITest project to point to the mobile projects. This will allow UITest to automatically determine the path to the application bundle for you, eliminating some of the boilerplate initialization code present in UITests.

  1. Open the Unit Tests pad, View > Pads > Unit Tests.
  2. Expand the Tree View and expose the Test Apps node:
  3. Right click on Test Apps, and select Add App Project:
  4. From the dialog that appears, point the UITest project to the mobile applications that Visual Studio for Mac should run tests for:

To upgrade your UITest project in Visual Studio, select the UITest project and select Project > Add References.... From the Reference Manager dialog that appears, select the mobile projects:

Configuring IApp

The Submitting UITests to Xamarin Test Cloud and Testing on Devices both describe how the IDE will execute tests on the appropriate target. It is no longer necessary to specify the path to the APK or APP/IPA. This means that existing calls to ConfigureApp can be simplified to one of the following:

  • ConfigureApp.Android.StartApp()
  • ConfigureApp.iOS.StartApp()

If you have a solution that targets both Xamarin.iOS and Xamarin.Android, the following helper class can be used to initialize an IApp instance that is appropriate for the platform being tested:

public class AppInitializer
    public static IApp StartApp(Platform platform)
        if(platform == Platform.Android)
            return ConfigureApp.Android.StartApp();

        return ConfigureApp.iOS.StartApp();

Then, ensure that you are using at least NUnit 2.6.3 (Xamarin.UITest is not compatible with NUnit 3.0), and update each test class to specify the platform as a part of the TestFixture attribute:

public class Tests
    IApp app;
    Platform platform;

    public Tests(Platform platform)
        this.platform = platform;

    public void BeforeEachTest()
        app = AppInitializer.StartApp(platform);

    public void ClickingButtonTwiceShouldChangeItsLabel()
        // Test code omitted


This guide discussed how to migrate old UITest projects to take advantage of the IDE integration provided by Visual Studio for Mac 5.9 and newer.

This guide discussed how to migrate old UITest projects to take advantage of the IDE integration provided by Visual Studio 3.11 and newer.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.