찾다

 >  Q&A  >  본문

Selenium을 사용하여 WindowHandles를 사용하여 탭과 창을 추적하고 반복하는 가장 좋은 방법

Internet Explorer 11의 UI 테스트를 위해 Selenium webdriver를 사용하고 있습니다. 테스트 웹 애플리케이션에서는 여러 화면이 나타납니다. 일부 테스트에서 우리는 세 개의 브라우저 창을 갖게 되었고 따라서 세 개의 Driver.WindowHandles가 생겼습니다. 한 WindowHandle에서 다른 WindowHandle로 전환하려면 Driver.WindowHandles가 가장 오래된 창을 먼저 정렬하고 최신 창을 마지막으로 정렬해야 합니다. 하지만 그렇지 않습니다. 완전히 무작위입니다!

windowhandle은 GUID이기 때문에 WindowHandle GUID를 키로, 값을 브라우저 창에 로드된 페이지 유형에 대한 값으로 사용하여 사전을 생성하게 됩니다. 그러나 이로 인해 창이 닫혀도 사전이 유지됩니다.

이렇게 간단한 일에 많은 노력이 필요한 것 같습니다. 더 나은 해결책이 있습니까?

P粉744691205P粉744691205420일 전754

모든 응답(1)나는 대답할 것이다

  • P粉986937457

    P粉9869374572023-11-05 16:56:30

    당신 말이 옳습니다:

    토론에서 Simon은 다음과 같이 분명히 언급했습니다.

    그래서 우리는 필요에 따라 WebDriverWait ,然后每次打开新选项卡/窗口时收集窗口句柄,最后迭代窗口句柄和 switchTo().window(newly_opened) 키울 것입니다:

    자바:

    으아악

    콘솔 출력:

    으아악

    기타

    새 탭에서 에서 python 기반 토론을 찾을 수 있습니다.

    회신하다
    0
  • 취소회신하다