Watin: всплывающее оповещение о безопасности - PullRequest
2 голосов
/ 02 июня 2009

HI,

Я автоматизирую веб-сайт, когда пытаюсь войти в его всплывающее одно предупреждение безопасности. Хотел нажать "Да" в этом всплывающем окне. Может кто-нибудь дать решение для этого.

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Я получал смесь предупреждений безопасности и предупреждений сертификатов каждый раз, когда сервер получал новый код. Это работает для меня:

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();
}  
1 голос
/ 09 июня 2009

Есть два способа справиться с этим: добавить обработчик диалога в начале теста или добавить его явно, когда вам это нужно. Вот как вы добавляете один из них при запуске, это отдельный поток.

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

The rest of your test ...
...