public void Launch(string program, params string[] args) { try { procedureLogger.Action("Launch " + this.sample); Process.Start(program, String.Join(" ", args)); Thread.Sleep(Config.Instance.ShortDelay); procedureLogger.ExpectedResult(string.Format("{0} has been started.", this.sample)); } catch (Exception e) { Console.WriteLine(e.Message); Process.GetCurrentProcess().Kill(); } }
public void HandleException(Exception ex) { procedureLogger.Action("Error: " + ex.ToString()); procedureLogger.ExpectedResult("A Exception has been thrown."); procedureLogger.Save(); }
//Check the patterns that a control must support according to MSDN. public void PatternChcek(Element e, AutomationElement ae, AutomationPattern[] addStates, AutomationPattern[] invalidState) { procedureLogger.Action(string.Format("Check {0}'s supported patterns.", e)); //Remove the extra patterns from supported patterns list for (int i = 0; i < invalidState.Length; i++) { if (((System.Collections.IList)e.SupportedPatterns).Contains(invalidState [i])) { e.SupportedPatterns.Remove(invalidState[i]); } } //Add necessary patterns to the supported patterns list for (int j = 0; j < addStates.Length; j++) { e.SupportedPatterns.Add(addStates [j]); } //Get list of actual patterns of this control AutomationPattern[] actualPatterns = ae.GetSupportedPatterns(); procedureLogger.ExpectedResult(string.Format("supported patterns :")); for (int k = 0; k < actualPatterns.Length; k++) { procedureLogger.ExpectedResult(string.Format("{0} ", actualPatterns [k])); } //get a list of actual patterns that are missing or extraneous List <AutomationPattern> missPattern = new List <AutomationPattern>(); List <AutomationPattern> extraPattern = new List <AutomationPattern>(); for (int p = 0; p < e.SupportedPatterns.Count; p++) { if (!(actualPatterns.Contains(e.SupportedPatterns[p]))) { missPattern.Add(e.SupportedPatterns[p]); } } for (int q = 0; q < actualPatterns.Length; q++) { if (!(e.SupportedPatterns.Contains(actualPatterns[q]))) { extraPattern.Add(actualPatterns[q]); } } //If missingPatterns and extraPatterns are empty, the test case passes //otherwise, throw an exception if (0 != missPattern.Count) { Console.WriteLine("Missing miss actions: "); } for (int n = 0; n < missPattern.Count; n++) { Console.WriteLine(" {0}", missPattern[n]); } Assert.AreEqual(0, missPattern.Count); if (0 != actualPatterns.Length) { Console.WriteLine("Missing actual actions: "); } for (int m = 0; m < actualPatterns.Length; m++) { Console.WriteLine(" {0}", actualPatterns[m]); } }