我正在使用 ASP.net、C#.net 内联网应用程序。 Selenium Webdriver 用于测试应用程序。一页输入相同的名称,显示警报消息“已存在”(使用 ajax 的服务器端警报),我想用 screenshort 捕获该警报消息。
**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 也有类似的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)