
Selenium 및 관련 드라이버를 사용하여 Chrome, Edge 및 Firefox에서 작동하는 자동화된 테스트를 작성하려고 합니다. 그러나 Firefox에서 테스트를 실행하면 새 브라우저 창이 원하는 페이지를 연 다음비트워든 페이지별도의 탭에 있습니다. 이 별도의 탭 열기는 내 테스트가 실행되는 방식에 영향을 미치는 것 같습니다. 혹시 열리지 않게 하는 방법 아시는 분 계신가요?
내가 시도한 것:
- 독립 실행형 브라우저에서 확장 프로그램을 제거했지만 어쨌든 자동화된 인스턴스에 다시 나타납니다. 우리 IT 부서에서는 설치된 상태를 유지하기 위해 몇 가지 시스템을 만들었다고 말했습니다. 이 탭이 열리지 않게 하려면 어떻게 해야 하나요?
- 로컬에 저장된 두 프로필 모두에서 addons.json 파일을 지웠습니다. 내가 피하려고 하는 것:
- 테스트를 실행할 때마다 이 탭을 종료하도록 합니다.
- 레지스트리를 조작하는 중입니다. 가능하다면 IT를 화나게 하는 것을 피하고 싶습니다.
이 문제를 해결하는 방법을 아는 사람이 있나요?
답변1
나는 해결책을 찾았습니다. 브라우저 드라이버를 열고 테스트하는 지점 사이에 현재 초점이 맞춰진 탭을 올바른 탭으로 전환하기 위해 다음 코드(Python)를 배치했습니다.
windows = self.driver.window_handles
if (len(windows) > 1):
self.driver.switch_to.window(windows[0])
탭 목록의 길이가 1보다 크면 Bitwarden 탭이 열려 있고, 테스트하려는 대상 탭인 첫 번째 탭으로 전환합니다. 실제로 문제의 근본 원인을 해결하지는 못하지만(정말 쉬운 해결책은 아닙니다) Firefox에서 더 이상 탭 관련 오류가 발생하지 않도록 올바른 탭으로 초점을 되돌립니다.