gpt4 book ai didi

c# - 如果存在警报,WebDriver 屏幕截图将不起作用。如何处理使用 c#.net?

转载 作者:行者123 更新时间:2023-11-30 17:02:15 25 4
gpt4 key购买 nike

我正在使用 ASP.net、C#.net Intranet 应用程序。用于测试应用程序的 Selenium Webdriver。一页输入相同的名称,它显示警报消息“已经存在”(使用 ajax 的服务器端警报),我想用屏幕截图捕获该警报消息。

**Selenium webdriver version: 2.35.0.0
dotnet frame work: 4.0**

我正在编写如下代码:

private static void SaveScreenShot(string screenshotFirstName)
{
var folderLocation = Environment.CurrentDirectory.Replace("\\Out", "") + "\\ScreenShot\\";
if (!Directory.Exists(folderLocation))
{
Directory.CreateDirectory(folderLocation);
}
var screenshot = ((ITakesScreenshot)WebDriver).GetScreenshot();
var filename = new StringBuilder(folderLocation);
filename.Append(screenshotFirstName);
filename.Append(DateTime.Now.ToString("dd-mm-yyyy HH_mm_ss"));
filename.Append(".png");
screenshot.SaveAsFile(filename.ToString(), System.Drawing.Imaging.ImageFormat.Png);
}

但它显示错误信息如

"unexpected alert open
(Session info: chrome=31.0.1650.57)
(Driver info: chromedriver=2.3,platform=Windows NT 6.1 x86)"

请帮帮我。它在没有警报消息的情况下工作正常。

最佳答案

是否尝试让 WebDriver 忽略警报?

这可以通过以下方式完成:

    var options = new InternetExplorerOptions();
options.UnexpectedAlertBehavior = OpenQA.Selenium.IE.InternetExplorerUnexpectedAlertBehavior.Ignore;

然后像这样启动 WebDriver:

driver = new InternetExplorerDriver(options);

这就是我为 IE 做的方式。我没有测试 Chrome,但我想 Chrome 也有类似的方法。

关于c# - 如果存在警报,WebDriver 屏幕截图将不起作用。如何处理使用 c#.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20071943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com