2009-06-02 5 views
2

HI,Watin : 보안 경고 팝업 처리

로그인을 시도 할 때 웹 사이트 자동화 중 하나의 보안 경고 팝업을 표시하려고합니다. 그 팝업의 "예"를 클릭하고 싶습니다. 누구든지이 문제에 대한 해결책을 줄 수 있습니까?

답변

1

두 가지 방법으로 처리 할 수 ​​있습니다. 대화 상자 처리기를 테스트 시작시 추가하거나 필요할 때 명시 적으로 추가 할 수 있습니다. 시작 부분에 별도의 스레드를 추가하는 방법입니다.

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

The rest of your test ... 
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(); 
}