public void Capture(string commentOnWeb = "Step_End", string imageName = "", string capturesRelativePath = "", UtilCapturer.ImageType imageType = UtilCapturer.ImageType.PNG) { try { if (imageName.Equals("")) { imageName = UtilTime.GetLongTimeString(); } if (capturesRelativePath.Equals("")) { capturesRelativePath = this.GetCaptureRelativePath(); } var t = Path.Combine(capturesRelativePath, imageName); var manualCheckLink = SetNeedToCheck(commentOnWeb, Path.Combine(capturesRelativePath.Split('\\').Last(), imageName + "." + imageType)); manualCheckLink = SetAsLink(manualCheckLink); UtilCapturer.Capture(t, imageType); UtilTime.WaitTime(0.5); if (CurrentTestCase != null) { CurrentTestCase.NodeNeedToCheck += manualCheckLink; } } catch (Exception e) { throw new Exception("Capture image failed." + e.Message); } }
public void Capture(string pathSave, string comment = "Shot", ImageType imageType = ImageType.PNG) { var needToCheck = _iReporter.SetNeedToCheck(comment, pathSave); needToCheck = _iReporter.SetAsLink(needToCheck); UtilCapturer.Capture(pathSave, imageType); }
public void LaunchAndCheckCrash(long testTimes) { var crashTimes = 0; UtilCmd.Clear(); for (var i = 1; i < testTimes; i++) { var titleTotal = $"Reopen Times: {i} - Crash Times: {crashTimes}"; var logLines = UtilFile.ReadFileByLine(LogPathLaunch); logLines.ForEach(UtilCmd.WriteLine); //logLines.ForEach(line => UtilCmd.WriteLine(line)); var launchLogTime = GetRestartLogTime(); var screenshotPath = Path.Combine(ScreenshotsPath, crashTimes.ToString()); UtilProcess.StartProcess(SwLnkPath); Timeout = 1; UtilCmd.WriteTitle($"{titleTotal} - Searching MP+ UI."); var startTime = DateTime.Now; var dialogWarning = UtilWait.ForAnyResultCatch(() => { UtilCmd.WriteTitle($"{titleTotal} - Searching Warning dialog of the MP+ in 60s. Time elapsed: {(DateTime.Now - startTime).Seconds}s."); SwMainWindow = new AT().GetElement(MPObj.MainWindow, Timeout); // The MP+ will change after a while. return(SwMainWindow.GetElement(MPObj.DialogWarning, Timeout)); }, 60, 2); if (SwMainWindow == null) { UtilCapturer.Capture(i.ToString()); UtilFile.WriteFile(LogPathLaunch, $"{launchLogTime}: Reopen Times: {i} - Could not open MasterPlus."); crashTimes++; } UtilTime.WaitTime(1); UtilProcess.KillProcessByName(SwProcessName); UtilTime.WaitTime(1); } }
protected void HandleWrongStepResult(string comment, long num = 0) { if (comment == "") { return; } //string tmp = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}: {Result.FAIL} - Num > [{num}]. Error > [{comment}]"; var tmp = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}: {Reporter.Result.FAIL}. Error > [{comment}]"; UtilCapturer.Capture(Path.Combine(ScreenshotsPath, num.ToString())); UtilFile.WriteFile(Path.Combine(LogPathLaunch), tmp); Console.WriteLine(tmp); //UtilProcess.KillProcessByName(this.SwProcessName); UtilTime.WaitTime(2); }
public void RestartSystemAndCheckDeviceRecognitionFlow(XmlOps xmlOps) { UtilFolder.CreateDirectory(Path.Combine(ScreenshotsPath, "Restart")); var restartLogTime = GetRestartLogTime(); var screenshotPath = Path.Combine(RestartScreenshotPath, restartLogTime); var logLines = UtilFile.ReadFileByLine(LogPathRestart); logLines.ForEach(line => UtilCmd.WriteLine(line)); var titleLaunchTimes = xmlOps.GetRestartTimes(); var titleTotal = $"Restart Times: {titleLaunchTimes} - Error Times: {logLines.Count}"; var t = UtilWait.WaitTimeElapseThread($"{titleTotal} - Waiting 35s.", 35); t.Start(); t.Join(); if (!File.Exists(SwLnkPath)) { UtilCmd.WriteTitle($"{titleTotal} - Could not find {SwLnkPath}."); UtilCmd.PressAnyContinue(); } UtilProcess.StartProcess(SwLnkPath); Timeout = 1; UtilCmd.WriteTitle($"{titleTotal} - Searching MP+ UI."); var startTime = DateTime.Now; var dialogWarning = UtilWait.ForAnyResultCatch(() => { UtilCmd.WriteTitle($"{titleTotal} - Searching Warning dialog of the MP+ in 60s. Time elapsed: {(DateTime.Now - startTime).Seconds}s."); SwMainWindow = new AT().GetElement(MPObj.MainWindow, Timeout); // The MP+ will change after a while. return(SwMainWindow.GetElement(MPObj.DialogWarning, Timeout)); }, 60, 3); if (SwMainWindow == null) { //UtilCmd.WriteTitle($"Restart Times: {titleLaunchTimes} - Could not open MasterPlus."); UtilCapturer.Capture(screenshotPath); UtilFile.WriteFile(LogPathRestart, $"{restartLogTime}: Restart Times: {titleLaunchTimes} - Could not open MasterPlus."); } else if (dialogWarning != null) { UtilCapturer.Capture(screenshotPath); //UtilCmd.WriteTitle($"Restart Times: {titleLaunchTimes} - The device was not displayed"); UtilFile.WriteFile(LogPathRestart, $"{restartLogTime}: Restart Times: {titleLaunchTimes} - The device was not displayed."); } xmlOps.SetRestartTimes(Convert.ToInt16(titleLaunchTimes) + 1); UtilTime.WaitTime(1); UtilProcess.KillProcessByName(this.SwProcessName); //UtilProcess.ExecuteCmd();// sometimes it does not work somehow. UtilOS.Reboot(); }