Provides out-of-process access to operating system functions and other services such as visual verification, if present.
        /// <summary>
        /// Begins a call to the test service to report a test run's results.
        /// </summary>
        /// <param name="callback">The callback, used to read or verify results
        /// from the service call.</param>
        /// <param name="failure">A value indicating whether the test run was a
        /// failure.</param>
        /// <param name="failures">The failed scenario count.</param>
        /// <param name="totalScenarios">The total scenario count.</param>
        /// <param name="message">Any message to report along with the failure.</param>
        public override void ReportFinalResult(Action <ServiceResult> callback, bool failure, int failures, int totalScenarios, string message)
        {
            string guid = TestService.UniqueTestRunIdentifier;

            if (!string.IsNullOrEmpty(guid))
            {
                Dictionary <string, string> parameters = WebTestService.Dictionary("failure", failure.ToString(CultureInfo.InvariantCulture), "total", totalScenarios.ToString(CultureInfo.InvariantCulture), "failures", failures.ToString(CultureInfo.InvariantCulture), "guid", guid);
                ((SilverlightTestService)TestService).WebService.CallMethod(MethodName_ReportTestResults, parameters, callback);
            }
        }
 /// <summary>
 /// Attempts to verify the service connection.  Calls the proper 
 /// success/failure Action once a verification result is possible.
 /// </summary>
 /// <param name="success">The Action to call upon connection 
 /// verification.</param>
 /// <param name="failure">An Action to call upon failure.</param>
 public void Verify(Action success, Action failure)
 {
     WebTestService pox = new WebTestService(ServiceUri);
     pox.CallMethod(
         VerificationServiceName,
         delegate(ServiceResult result)
         {
             Action action = result != null && result.Successful ? success : failure;
             action();
         });
 }
            /// <summary>
            /// Attempts to verify the service connection.  Calls the proper
            /// success/failure Action once a verification result is possible.
            /// </summary>
            /// <param name="success">The Action to call upon connection
            /// verification.</param>
            /// <param name="failure">An Action to call upon failure.</param>
            public void Verify(Action success, Action failure)
            {
                WebTestService pox = new WebTestService(ServiceUri);

                pox.CallMethod(
                    VerificationServiceName,
                    delegate(ServiceResult result)
                {
                    Action action = result != null && result.Successful ? success : failure;
                    action();
                });
            }
Пример #4
0
        /// <summary>
        /// Initialize the web settings provider.
        /// </summary>
        public override void Initialize()
        {
            string guid = TestService.UniqueTestRunIdentifier;

            if (string.IsNullOrEmpty(guid))
            {
                ReadRunParameters(null);
            }
            else
            {
                TestService.WebService.CallMethod(MethodName_GetRunParameters, WebTestService.Dictionary("guid", guid), ReadRunParameters);
            }
        }
Пример #5
0
 /// <summary>
 /// Pauses the initialization process to attempt a service connection.
 /// The result will alter the underlying ServiceType being used by
 /// this provider to ensure a fallback experience can be used.
 ///
 /// This verification step will block the initialization and entire
 /// test run until it continues.
 /// </summary>
 private void AttemptServiceConnection()
 {
     _webService.Verify(
         // Success
         delegate
     {
         WebService = new WebTestService(_webService.ServiceUri);
         ContinueInitialization();
     },
         // Failure, fallback to the direct mode
         delegate
     {
         _webService = null;
         ContinueInitialization();
     });
 }
        /// <summary>
        /// Begins a call to the test service to write to the log.
        /// </summary>
        /// <param name="callback">The callback, used to read or verify results
        /// from the service call.</param>
        /// <param name="logName">The name of the log to write.</param>
        /// <param name="content">The log file content.</param>
        public override void WriteLog(Action <ServiceResult> callback, string logName, string content)
        {
            string guid = TestService.UniqueTestRunIdentifier;
            Dictionary <string, string> parameters = string.IsNullOrEmpty(guid) ? WebTestService.Dictionary("logName", logName) : WebTestService.Dictionary("guid", guid, "logName", logName);

            IncrementBusyServiceCounter();
            ((SilverlightTestService)TestService).WebService.CallMethod(
                MethodName_WriteLog,
                parameters,
                content,
                (sr) =>
            {
                if (callback != null)
                {
                    callback(sr);
                }
                DecrementBusyServiceCounter();
            });
        }
Пример #7
0
        /// <summary>
        /// Save string-based code coverage data.
        /// </summary>
        /// <param name="data">The code coverage data, as a string.</param>
        /// <param name="callback">The callback action.</param>
        public override void SaveCoverageData(string data, Action <ServiceResult> callback)
        {
            string guid = TestService.UniqueTestRunIdentifier;
            Dictionary <string, string> parameters = string.IsNullOrEmpty(guid) ? WebTestService.Dictionary() : WebTestService.Dictionary("guid", guid);

            IncrementBusyServiceCounter();
            ((SilverlightTestService)TestService).WebService.CallMethod(
                MethodName_SaveCodeCoverage,
                parameters,
                data,
                (sr) =>
            {
                if (callback != null)
                {
                    callback(sr);
                }
                DecrementBusyServiceCounter();
            });
        }
 /// <summary>
 /// Pauses the initialization process to attempt a service connection. 
 /// The result will alter the underlying ServiceType being used by 
 /// this provider to ensure a fallback experience can be used.  
 /// 
 /// This verification step will block the initialization and entire 
 /// test run until it continues.
 /// </summary>
 private void AttemptServiceConnection()
 {
     _webService.Verify(
         // Success
         delegate
         {
             WebService = new WebTestService(_webService.ServiceUri);
             ContinueInitialization();
         },
         // Failure, fallback to the direct mode
         delegate
         {
             ServiceType = ServiceType.Direct;
             _webService = null;
             ContinueInitialization();
         });
 }
 /// <summary>
 /// Retrieve an environment variable from the system.
 /// </summary>
 /// <param name="name">The variable name.</param>
 /// <param name="callback">The callback action.</param>
 public override void GetEnvironmentVariable(string name, Action <ServiceResult> callback)
 {
     ((SilverlightTestService)TestService).WebService.CallMethod(MethodName_GetEnvironmentVariable, WebTestService.Dictionary("name", name), callback);
 }