private async Task RunTestGroup(ZumoTestGroup testGroup)
        {
            var appUrl = this.txtAppUrl.Text;
            var appKey = this.txtAppKey.Text;

            await SaveAppInfo();

            string error = null;
            try
            {
                ZumoTestGlobals.Instance.InitializeClient(appUrl, appKey);
            }
            catch (Exception ex)
            {
                error = string.Format(CultureInfo.InvariantCulture, "{0}", ex);
            }

            if (error != null)
            {
                MessageBox.Show(error, "Error initializing client", MessageBoxButton.OK);
            }
            else
            {
                try
                {
                    await testGroup.Run();
                }
                catch (Exception ex)
                {
                    error = string.Format(CultureInfo.InvariantCulture, "Unhandled exception: {0}", ex);
                }

                if (error != null)
                {
                    MessageBox.Show(error, "Error", MessageBoxButton.OK);
                }
                else
                {
                    if (testGroup.Name.StartsWith(TestStore.AllTestsGroupName) && !string.IsNullOrEmpty(this.txtUploadUrl.Text))
                    {
                        // Upload logs automatically if running all tests
                        await Util.UploadLogs(this.txtUploadUrl.Text, string.Join("\n", testGroup.GetLogs()), "wp8", true);
                    }
                    else
                    {
                        int passed = this.currentGroup.AllTests.Count(t => t.Status == TestStatus.Passed);
                        string message = string.Format(CultureInfo.InvariantCulture, "Passed {0} of {1} tests", passed, this.currentGroup.AllTests.Count());
                        MessageBox.Show(message, "Test group finished", MessageBoxButton.OK);
                    }
                }
            }
        }
        private async Task RunTestGroup(ZumoTestGroup testGroup)
        {
            var clientInitialized = await InitializeClient();
            if (!clientInitialized)
            {
                return;
            }

            string error = null;
            try
            {
                await testGroup.Run();
            }
            catch (Exception ex)
            {
                error = string.Format(CultureInfo.InvariantCulture, "Unhandled exception: {0}", ex);
            }

            if (error != null)
            {
                await Util.MessageBox(error, "Error");
            }

            if (testGroup.Name.StartsWith(TestStore.AllTestsGroupName) && !string.IsNullOrEmpty(this.txtUploadLogsUrl.Text))
            {
                // Upload logs automatically if running all tests and write the the logs location to done.txt
                var logsUploadedURL = await Util.UploadLogs(this.txtUploadLogsUrl.Text, string.Join("\n", testGroup.GetLogs()), "winstorecs", true);
                StorageFolder storageFolder = KnownFolders.PicturesLibrary;
                StorageFile logsUploadedFile = await storageFolder.CreateFileAsync(ZumoTestGlobals.LogsLocationFile, CreationCollisionOption.ReplaceExisting);
                await FileIO.WriteTextAsync(logsUploadedFile, logsUploadedURL);
            }
        }