0

Watin 2.1을 사용하여 웹 사이트의 파일 다운로드 및 파일 열기 기능을 테스트하려고합니다. Internet Explorer 8에서는 제대로 작동했지만 Internet Explorer 9 이후에는 팝업 대화 상자 대신보기 하단에 노란색 흰색 다운로드 막대가 나타납니다.MSIE 9의 특정 탭 얻기

https://stackoverflow.com/a/8532222/246622 나는이 문제를 해결하는데, 관심있는 브라우저 탭이 위에있는 한이 대답을 발견했습니다. 다른 탭이 맨 위에 있으면 다운로드 바를 찾을 수 없습니다. 문제는 다운로드가 시작되기 전에이 테스트를 통해 다운로드 막대가있는 탭 상단에 다른 탭이 열립니다.

그렇다면 올바른 탭에 액세스하려면 어떻게해야합니까? 아니면 인터넷 익스플로러에서 상단/표시 탭을 전환 할 수 있습니까? 또는 다른 페이지가 동일한 창에있는 탭 대신 다른 창에서 열리도록하려면 어떻게해야합니까? 또는 테스트 응용 프로그램에서 다른 탭을 닫으려면 어떻게해야합니까?

Window windowMain = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(browser.hWnd, 5/*GW_CHILD*/)); // This gets the topmost browser tab. 
System.Windows.Automation.TreeWalker trw = new System.Windows.Automation.TreeWalker(System.Windows.Automation.Condition.TrueCondition); 
mainWindow = trw.GetParent(System.Windows.Automation.AutomationElement.FromHandle(browser.hWnd)); 
windowDialog = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(windowMain.Hwnd, 5)); 

나는이 시도 : 여기

코드의 관련 작품이다

var lowerWindow = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(aBrowserTab.Hwnd, 2/*GW_HWNDNEXT*/)); // This gets a next lower window. 
그때 제목으로 정규식을 사용하여 올바른 탭 식별에 계획하고 있었다

:

titleRegex.IsMatch(windowMain.ToplevelWindow.Title) 

하지만이 방법은 동일한 창에서 하단 탭 대신 하단 창을 가져옵니다.

답변

1

나는 비슷한 문제가있어서 당신이 시도하고있는 것과 유사한 조사를 한 후에 대안 경로를 시도하기로 결정했습니다. 또한 이처럼 올바르게 구현하더라도 다른 브라우저에서 테스트를 이식하는 작업이 많으며 IE 10이 빨리 나오게됩니다.

  1. 정말 브라우저에서 파일을 다운로드해야합니까? 방법에 대해 - 다운로드를 시작하는 URL을 읽은 다음 해당 URL에서 WebRequest을 검색하여 파일을 검색 하시겠습니까?

  2. Coded UI을 사용하십시오. 기록 된 테스트가 아니라 생성 된 테스트를 사용하십시오. 브라우저 내에서뿐만 아니라 창 응용 프로그램에서도 자동으로 클릭 할 수 있습니다. 또한 개발은 waitn에서 중단 된 것처럼 보이므로 더 안정적인 것으로 이동하는 것이 좋습니다.