Selenium 자동화: 동적으로 업데이트되는 값 추출 방법
Selenium을 활용해 웹 자동화 테스트를 진행할 때, 종종 동적으로 변하는 값(예: 입력 필드, 검색어 제안 리스트)을 추출해야 할 때가 있습니다.
일반적인 방식으로는 .text 메서드를 사용해 텍스트를 가져옵니다.
하지만 .text는 종종 동적으로 업데이트되는 값을 제대로 불러오지 못할 때가 있습니다.
문제 상황
print(driver.find_element(By.ID, "autosuggest").text)
위 코드로 값이 제대로 출력되지 않는 경우가 발생할 수 있습니다.
동적으로 변경된 값이 요소의 속성으로 저장될 때는 .text가 비어있는 경우가 많기 때문입니다.
해결 방법: .get_attribute() 활용
동적 값이 저장된 속성을 직접 읽어오는 방법이 필요합니다.
print(driver.find_element(By.ID, "autosuggest").get_attribute("value"))
이 방식은 입력 필드에 실시간으로 업데이트된 값을 정확히 가져올 수 있습니다.
동적인 값 검증
테스트 시 입력 값 검증을 위해 사용하는 코드
assert driver.find_element(By.ID, "autosuggest").get_attribute("value") == "India"
- 만약 값이 "India"와 일치한다면 테스트 통과.
- 값이 일치하지 않으면 AssertionError가 발생하며 즉시 테스트 실패.
- 이로 인해 버그를 빠르게 탐지할 수 있다.
결론
- 동적 값 추출 시 get_attribute("value") 사용이 필수적.
- 자동화 테스트에서 값 검증은 안정적인 시스템 유지에 도움을 준다.
'Study > ⚙️ 자동화' 카테고리의 다른 글
[자동화] Set (2) | 2025.02.06 |
---|---|
[자동화] checkbox 다수의 value 값을 자동화 - List, Dictionary, Set (0) | 2025.02.03 |
[자동화] chrome webdriver, Selenium 사용해보기 (0) | 2025.01.30 |
[자동화] chrome webdriver download (2) | 2025.01.28 |