XPATH?
- selenium을 이용한 자동화 테스트 스크립트 설계 도중, 대표적으로 사용하는 selector
- CLASS_NAME, CSS_SELCTOR, NAME, ID 등 여러가지 방법이 있으나, 개인적으로는 XPATH가 가장 표현하기 적절하고, 정확성 있다고 판단
기본 문법
//<태그명>[@<속성명>="<속성값>"]
or
//*[@<속성명>="<속성값>"]
연산자
//input[@type="submit" and @name="action"]
//input[@type="submit" or @name="action"]
//input[not(@type="hidden")]
함수
- contains() 함수 : 유사한 값을 가진 경로를 찾음
//*[contains(@class,"Class123")]
- text() 함수 : 명시한 값과 정확히 일치한 텍스트를 찾음
//button[text()="로그인"]
- contains() 및 text() 함수 혼합하여 주로 사용
//button[contains(text(), "로그인")]
마무리
- XPATH를 사용할 때, 정확하고 효율적인 경로로 작성 (자주 변경되는 값으로 X)
- 너무 일반적인 경로는 불필요한 요소를 반환할 수도 있음
- 너무 구체적인 경로는 소스코드 변경에 취약할 수 있음
- 테스트의 안정성과 유지보수성을 위해, 적절한 균형을 찾아야 함