/// <summary> /// Gets the name of a test script and runs it. /// There must be a corresponding XML script file in the /// location specified in the GtdConfig.xml file. /// </summary> /// <param name="script">The name of the test script (.xml not needed).</param> public void fromFile(string script) { if (!(script.ToLower()).EndsWith(@".xml")) { script += ".xml"; } TestState ts = null; if (varsDefined) // true only if AddVariable() was called. { ts = TestState.getOnly(); // Re-open the log using the script name - lose what's there. Logger.getOnly().close(Logger.Disposition.Hung); // The next call to Logger.getOnly() will create one with using the script name. } else { ts = TestState.getOnly(m_appSymbol); // Allocating ts here insures deallocation } ts.Script = script; // must come before ts.PublishVars(); ts.PublishVars(); // get the script path from the configuration file string path = ts.getScriptPath() + @"\" + script; XmlElement scriptRoot = XmlFiler.getDocumentElement(path, "accil", false); Assert.IsNotNull(scriptRoot, "Missing document element 'accil'."); Instructionator.initialize("AxilInstructions.xml"); OnDesktop dt = new OnDesktop(); Assert.IsNotNull(dt, "OnDesktop not created for script " + path); dt.Element = scriptRoot; // not quite code-behind, but OK dt.Number = ts.IncInstructionCount; //dt = new XmlInstructionBuilder().Parse(path); // now execute any variables if they've been added before executing the desktop foreach (Var v in m_vars) { v.Execute(); } System.GC.Collect(); // forces collection on NUnit process only Beep beeep = new Beep(); beeep.Execute(); // play a beep tone so we know when the test starts dt.Execute(); varsDefined = false; // the next test may not have any Logger.getOnly().close(Logger.Disposition.Pass); Thread.Sleep(1000); }
/// <summary> /// Gets the name of a test script and runs it. /// There must be a corresponding XML script file in the /// location specified in the GtdConfig.xml file. /// </summary> /// <param name="script">The name of the test script (.xml not needed).</param> public void fromFile(string script) { if(!(script.ToLower()).EndsWith(@".xml")) script += ".xml"; TestState ts = null; if (varsDefined) // true only if AddVariable() was called. { ts = TestState.getOnly(); // Re-open the log using the script name - lose what's there. Logger.getOnly().close(Logger.Disposition.Hung); // The next call to Logger.getOnly() will create one with using the script name. } else ts = TestState.getOnly(m_appSymbol); // Allocating ts here insures deallocation ts.Script = script; // must come before ts.PublishVars(); ts.PublishVars(); // get the script path from the configuration file string path = ts.getScriptPath() + @"\" + script; XmlElement scriptRoot = XmlFiler.getDocumentElement(path, "accil", false); Assert.IsNotNull(scriptRoot, "Missing document element 'accil'."); Instructionator.initialize("AxilInstructions.xml"); OnDesktop dt = new OnDesktop(); Assert.IsNotNull(dt, "OnDesktop not created for script " + path); dt.Element = scriptRoot; // not quite code-behind, but OK dt.Number = ts.IncInstructionCount; //dt = new XmlInstructionBuilder().Parse(path); // now execute any variables if they've been added before executing the desktop foreach (Var v in m_vars) { v.Execute(); } System.GC.Collect(); // forces collection on NUnit process only Beep beeep = new Beep(); beeep.Execute(); // play a beep tone so we know when the test starts dt.Execute(); varsDefined = false; // the next test may not have any Logger.getOnly().close(Logger.Disposition.Pass); Thread.Sleep(1000); }