如果警报是present webdriver的截图不起作用。如何处理使用C#.NET? [英] WebDriver Screenshots don't work if an alert is present. how to handle using c#.net?
问题描述
我使用ASP.net,C#.NET Intranet应用。硒的webdriver来测试应用程序。一个页面中输入相同的名字就显示警告信息已经存在(用ajax服务器端警报),我要捕捉screenshort的警报消息。
I am using ASP.net, C#.net Intranet application. Selenium Webdriver to test application. one page enter same name it showing alert message "Already Exists" (server side alert using ajax) , I want to capture that alert message with screenshort.
**Selenium webdriver version: 2.35.0.0
dotnet frame work: 4.0**
我写code像波纹管:
i am writing code like bellow :
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)"
请帮助我。它没有警报消息正常工作。
please help me . it working fine without alert message.
推荐答案
试过获得的webdriver忽略警报?
Have tried getting WebDriver to ignore the Alert?
这是可以做到通过以下方式:
This can be done the following way:
var options = new InternetExplorerOptions();
options.UnexpectedAlertBehavior = OpenQA.Selenium.IE.InternetExplorerUnexpectedAlertBehavior.Ignore;
然后你开始的webdriver是这样的:
You then start WebDriver like this:
driver = new InternetExplorerDriver(options);
这是我会怎么做它的IE浏览器。我没有测试Chrome,但我可以想象有针对Chrome类似的方法。
This is how I would do it for IE. I'm not testing Chrome but I should imagine there is a similar method for Chrome.
这篇关于如果警报是present webdriver的截图不起作用。如何处理使用C#.NET?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!