屏幕截图未拍摄-C#Selenium WebDriver

时间:2018-11-09 08:59:34

标签: c# selenium selenium-webdriver

我正在尝试在Selenium WebDriver测试中实现屏幕截图捕获功能,如下所示:

[TearDown]
        public void TearDown()
        {
            if (TestContext.CurrentContext.Result.Outcome.Equals(ResultState.Failure))
            {
                Screenshot file = ((ITakesScreenshot)_driver).GetScreenshot();
                file.SaveAsFile(@"" + Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
                    + "/TestScreenshot" + DateTime.Now.Ticks + ".png", ScreenshotImageFormat.Png);
            }

            if (_driver != null) _driver.Close();
        }

如果测试失败,则应截取屏幕截图并将其保存到用户的桌面。但是,如果测试失败,则不会将屏幕截图保存到桌面。该方法有效,因为最后一行(_driver.Close())已正确执行(如果测试失败,它将关闭浏览器)。

我的语法有错误吗?

1 个答案:

答案 0 :(得分:0)

您的应用程序可能无法访问用户桌面来写入文件,并且Selenium Webdrive会捕获并抑制该错误以避免崩溃该应用程序。

确保(通过为您的应用程序授予特权)或将其保存在不需要任何特权的位置。