public override void RunCommand(object sender) { //get sending instance var engine = (Core.Automation.Engine.AutomationEngineInstance)sender; //add vOutput variable var requiredVariable = LookupVariable(engine); try { //if still not found and user has elected option, create variable at runtime if ((requiredVariable == null) && (engine.engineSettings.CreateMissingVariablesDuringExecution)) { engine.VariableList.Add(new Script.ScriptVariable() { VariableName = v_userVariableName }); requiredVariable = LookupVariable(engine); } //clear DevNotePlayer process CloseAll(); OutputManager.ClearResult(); // FileEndPointManager.MyPlayerExe2 string vProgramName = MyFileEndPoint.MyPlayerExe;// v_ProgramName.ConvertToUserVariable(sender); string vProgramArgs = v_FilePath; System.Diagnostics.Process p; p = System.Diagnostics.Process.Start(vProgramName, vProgramArgs); if (v_WaitForExit == "Yes") { p.WaitForExit(); } if (!File.Exists(FileEndPointManager.DefaultLatestResultFile)) { //File.Delete(FileEndPointManager.DefaultLatestResultFile); OutputManager.Result = "Success"; } } catch (Exception err) { OutputManager.Result = "Error" + Environment.NewLine + err.Message; //throw; } //STEP_.RESULT #10 Katalon result //System.Threading.Thread.Sleep(1000); //read result //OutputManager.ThrowError(OutputManager.ThrowErrorOnResult()); var result = OutputManager.Result; if (result.StartsWith("Error") || result.StartsWith("Failed")) { OutputManager.ThrowError("ErrorOnPyAutoWinCommand"); } if (requiredVariable != null) { requiredVariable.VariableValue = OutputManager.Result; } else { throw new Exception("Attempted to update variable index, but variable was not found. Enclose variables within brackets, ex. {vVariable}"); } }