コード例 #1
0
 public void ClearDriver()
 {
     if (TestContext.CurrentContext.Result.Outcome != ResultState.Success)
     {
         ScreenshotCreator.SaveScreenShot(Driver);
     }
     DriverSingleton.CloseDriver();
 }
コード例 #2
0
 public void ClearDriver()
 {
     if (TestContext.CurrentContext.Result.Outcome != ResultState.Success)
     {
         ScreenshotCreator.SaveScreenShot(Driver);
         Logger.Log.Info("Error acquired, screenshot done");
     }
     DriverSingleton.CloseDriver();
 }
コード例 #3
0
 private static void TakeScreenshot(IWebDriver driver)
 {
     try
     {
         ScreenshotCreator.CreateErrorScreenshot(driver);
     }
     catch (Exception ex)
     {
         WebDriverEventLog.Add(ex.Message);
     }
 }
コード例 #4
0
        internal static void LocalTearDown(IWebDriver driver)
        {
            if (TestFinalizer.GetCurrentTestStatus().Equals(TestFinalizer.TestStatus.Failed))
            {
                ScreenshotCreator.CreateErrorScreenshot(driver);
            }

            if (driver != null)
            {
                driver.Quit();
            }
        }
コード例 #5
0
        public static async Task <Screenshot?> CaptureSelection(HSSettings settingsContext)
        {
            if (settingsContext == null)
            {
                throw new ArgumentNullException(nameof(settingsContext));
            }

            Debug.Assert(!SelectionSemaphore.IsInAreaSelection);

            if (SelectionSemaphore.IsInAreaSelection)
            {
                return(null);
            }

            using var prio = new ProcessPriorityRequest();
            var(screen, cursorPosition) = ScreenshotCreator.CaptureScreenshot(SystemInformation.VirtualScreen, settingsContext.CaptureCursor);
            using var selector          = AreaSelector.Create(screen, true, settingsContext);

            var(selectedArea, _) = await selector.PromptSelectionAsync().ConfigureAwait(true);

            Debug.Assert(selectedArea.Width > 0);
            Debug.Assert(selectedArea.Height > 0);

            var selectedImage = new Bitmap(selectedArea.Width, selectedArea.Height);

            var cursorPositionOnSelectedImage = cursorPosition == null
                ? null
                : cursorPosition with {
                OnImage = new Point(cursorPosition.OnImage.X - selectedArea.X, cursorPosition.OnImage.Y - selectedArea.Y)
            };

            using var g = Graphics.FromImage(selectedImage);

            g.DrawImage(screen, new Rectangle(0, 0, selectedArea.Width, selectedArea.Height), selectedArea, GraphicsUnit.Pixel);

            return(Screenshot.FromImage(selectedImage, cursorPosition, ScreenshotSource.Selected));
        }
    }
コード例 #6
0
 void OnEnable()
 {
     script = (ScreenshotCreator)target;
 }
コード例 #7
0
 /// <summary>
 /// This will take a screenshot of the currently rendered page and save it to the path set in the script.
 /// </summary>
 /// <param name="driver"></param>
 /// <param name="strFilename">The inputFilename to save the screenshot to, without extension.</param>
 public static string TakeScreenshot(this IWebDriver driver, string strFilename)
 {
     return(ScreenshotCreator.TakeScreenshot(driver, strFilename));
 }
コード例 #8
0
 public static Screenshot CaptureFullScreen(HSSettings settingsContext)
 {
     using var prio = new ProcessPriorityRequest();
     var(screen, cursorPosition) = ScreenshotCreator.CaptureScreenshot(SystemInformation.VirtualScreen, settingsContext.CaptureCursor);
     return(Screenshot.FromImage(screen, cursorPosition, ScreenshotSource.Fullscreen));
 }