2

你好 ,

我正在自动化一个网站,当试图登录时,它会弹出一个安全警报。想单击该弹出窗口的“是”,任何人都可以为此提供解决方案。

4

2 回答 2

1

每次服务器获得新代码时,我都会收到安全警告和证书警告。这对我有用:

browser.AddDialogHandler(new DialogHandlerHelper());
browser.AddDialogHandler(new SecurityAlertDialogHandler());
Assert.IsTrue(browser.Link(Find.ByText("Login")).Exists);
browser.Link(Find.ByText("Login")).Click();
if (browser.Element("expertContentHeading").Exists)
{
    browser.Element("expertContentHeading").Click();
    browser.Button("exceptionDialogButton").Click();
    int Handle = browser.hWnd.ToInt32();
    object BT = true;
    WshShell WSH = new WshShell();
    WSH.SendKeys("{TAB}", ref BT);
    WSH.SendKeys("{TAB}", ref BT);
    WSH.SendKeys("{TAB}", ref BT);
    WSH.SendKeys("{TAB}", ref BT);
    WSH.SendKeys("{ENTER}", ref BT);
}

if (browser.Links.Exists("overridelink"))
{
    browser.Link("overridelink").Click();
}  
于 2010-02-10T20:22:24.280 回答
1

有两种方法可以处理这个问题,在测试开始时添加一个对话框处理程序,或者在需要时显式添加一个。这是在开始时添加一个运行的单独线程的方法。

IE ie = new IE();
ie.AddDialogHandler( new SecurityDialoghandLer() .. or the appropriate dialog handler ...);

The rest of your test ...
于 2009-06-09T03:42:43.837 回答