XPATH 문법

Seunghoon Yoo·2024년 3월 27일
post-thumbnail

XPATH?

  • selenium을 이용한 자동화 테스트 스크립트 설계 도중, 대표적으로 사용하는 selector
  • CLASS_NAME, CSS_SELCTOR, NAME, ID 등 여러가지 방법이 있으나, 개인적으로는 XPATH가 가장 표현하기 적절하고, 정확성 있다고 판단

기본 문법

//<태그명>[@<속성명>="<속성값>"]
or
//*[@<속성명>="<속성값>"]

연산자

  • AND 연산자
<!-- type값이 submit이면서, name값이 action 인 요소 찾기 -->
//input[@type="submit" and @name="action"]
  • OR 연산자
<!-- type값이 submit이거나, name값이 action 인 요소 찾기 -->
//input[@type="submit" or @name="action"]
  • NOT 연산자
<!-- type값이 hidden 이 아닌 요소 찾기 -->
//input[not(@type="hidden")]

함수

  • contains() 함수 : 유사한 값을 가진 경로를 찾음
//*[contains(@class,"Class123")]
  • text() 함수 : 명시한 값과 정확히 일치한 텍스트를 찾음
//button[text()="로그인"]
  • contains() 및 text() 함수 혼합하여 주로 사용
//button[contains(text(), "로그인")]

마무리

  • XPATH를 사용할 때, 정확하고 효율적인 경로로 작성 (자주 변경되는 값으로 X)
  • 너무 일반적인 경로는 불필요한 요소를 반환할 수도 있음
  • 너무 구체적인 경로는 소스코드 변경에 취약할 수 있음
  • 테스트의 안정성과 유지보수성을 위해, 적절한 균형을 찾아야 함
profile
QA Engineer

0개의 댓글