테스트 [Selenium] 페이지 이동 함수

황제낙엽 2024.05.05 07:17 조회 수 : 122

sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

Selenium WebDriver에서 WebDriver.get() WebDriver.navigate().to() 함수는 기본적으로 동일한 기능을 수행하지만, 몇 가지 차이점이 있습니다.

 

- WebDriver.get()

                         이 함수는 주어진 URL로 이동하고, 페이지가 완전히 로드될 때까지 (즉, onload 이벤트가 발생할 때까지) 대기합니다.

                         페이지에 많은 JavaScript나 다른 리소스가 포함되어 있는 경우, 호출이 오래 걸릴 수 있습니다.

- WebDriver.navigate().to()

                        이 함수는 `WebDriver.get()`와 동일하게 주어진 URL로 이동하지만, 추가적인 기능을 제공합니다.

                         브라우저의 히스토리를 추적하고 한 페이지씩 앞뒤로 이동할 수 있습니다. 

                         또한, 현재 URL을 새로 고침할 수 있습니다.

                         가장 중요한 점은, `WebDriver.navigate().to()`를 사용할 때마다 쿠키를 유지한다는 것입니다.

                         `WebDriver.get()`은 각 호출마다 세션 상태를 버리지만, `WebDriver.navigate().to()`는 상태를 유지합니다.

                         이는 로그인과 싱글 페이지 앱과 같은 많은 시나리오를 테스트하는 데 필요합니다.

 

따라서, `WebDriver.get()`은 사용하기 쉽지만, `WebDriver.navigate().to()`는 두 가지 주요한 장점을 가지고 있습니다.

  • 첫째, `WebDriver.navigate().to()`는 히스토리 내의 페이지를 탐색하고 현재 페이지를 새로 고침하는 추가적인 메서드를 제공합니다.
  • 둘째, 각 URL을 탐색할 때마다 상태를 유지하므로 쿠키와 다른 세션 데이터가 각 페이지 로드 간에 유지됩니다.

 

출처: Bing과의 대화, 2024. 5. 5.

(1) Difference between webdriver.get () and webdriver.navigate (). https://stackoverflow.com/questions/5664808/difference-between-webdriver-get-and-webdriver-navigate.

(2) Difference Between get() and navigate() in Selenium WebDriver. https://www.baeldung.com/selenium-webdriver-get-vs-navigate.

(3) firefox - Difference between webdriver.get() and webdriver.navigate.to() in the case .... https://stackoverflow.com/questions/33865618/difference-between-webdriver-get-and-webdriver-navigate-to-in-the-case-of-ur.

(4) java - driver.get(url) vs driver.navigate().to(url); - Stack Overflow. https://stackoverflow.com/questions/63102108/driver-geturl-vs-driver-navigate-tourl.

(5) Selenium WebDriver -Navigation Commands – Difference between get () and navigate .... https://www.qaslice.com/post/selenium-webdriver-navigation-commands-difference-between-get-and-navigate-to-methods.

(6) undefined. http://www.google.com.

(7) undefined. http://www.example.com.

(8) undefined. https://www.baeldung.com/.

 

 

※ otonapoi : 참고로 동일한 도메인의 다른 페이지를 WebDriver.get() 함수로 호출한다면 페이지가 로드 되기 전에 Thread.sleep(2000) 으로 약간의 지연을 주도록 한다.

    그리하면 WebDriver.get() 함수도 세션이 끊기지 않고 페이지 이동이 가능하다.

    지연시간동안 다음 페이지가 로드되고 onload 까지 동작하기 때문에 세션을 유지할 수 있는 것으로 보인다.

번호 제목 글쓴이 날짜 조회 수
63 [Selenium] 크롬 브라우저 실행 화면을 출력하거나 감추는 방법 황제낙엽 2024.05.05 129
» [Selenium] 페이지 이동 함수 황제낙엽 2024.05.05 122
61 [Selenium] Chrome 실행 자동화 file 황제낙엽 2024.05.03 152
60 [Selenium] MS Edge 실행 자동화(RPA, Robotic Process Automation) file 황제낙엽 2024.05.02 259
59 [Selenium] Warning : Unable to find CDP implementation matching 124 황제낙엽 2024.05.02 170
58 프로젝트 WBS 예제 (Microsoft Project 2013) secret 황제낙엽 2021.05.12 0
57 WBS (Work Breakdown Structure) 황제낙엽 2020.06.18 136
56 프로젝트 진행 절차 file 황제낙엽 2020.05.21 186
55 BDD (Behaviour-Driven Development) 황제낙엽 2020.04.02 153
54 요구사항 개발과 요구사항 관리 요약(요구사항기술서 샘플) file 황제낙엽 2019.07.07 229
53 뒤늦게 정리하는 UML (Unified Modeling Language) 요약 file 황제낙엽 2017.03.29 562
52 StarUML™의 숨은 재미있는 기능 황제낙엽 2017.03.29 484
51 The Facade Pattern file 황제낙엽 2017.01.04 435
50 와블스 프로세스(Warbles Process) 황제낙엽 2016.07.17 353
49 비 개발자 출신이 스크럼 마스터가 될 수 있는가? 황제낙엽 2015.06.25 455
48 디자인패턴[Observer 패턴] 황제낙엽 2013.10.18 281
47 PMBOK 5판 이해관계자 관리의 이해 [1] file 황제낙엽 2013.08.23 1430
46 Validation and Verification file 황제낙엽 2013.08.23 239
45 이해관계자의 관리/이해관계자 분석 황제낙엽 2013.08.23 490
44 성공적인 HR 프로젝트의 비결: 이해관계자 분석 file 황제낙엽 2013.08.23 413