셀렉터
WebdriverIO MCP 서버는 웹 페이지와 모바일 앱에서 요소를 찾기 위한 다양한 셀렉터 전략을 지원합니다.
정보
모든 WebdriverIO 셀렉터 전략을 포함한 포괄적인 셀렉터 문서는 주요 셀렉터 가이드를 참조하세요. 이 페이지는 MCP 서버에서 일반적으로 사용되는 셀렉터에 중점을 둡니다.
웹 셀렉터
브라우저 자동화를 위해 MCP 서버는 모든 표준 WebdriverIO 셀렉터를 지원합니다. 가장 일반적으로 사용되는 것들은 다음과 같습니다:
| 셀렉터 | 예시 | 설명 |
|---|---|---|
| CSS | #login-button, .submit-btn | 표준 CSS 셀렉터 |
| XPath | //button[@id='submit'] | XPath 표현식 |
| 텍스트 | button=Submit, a*=Click | WebdriverIO 텍스트 셀렉터 |
| ARIA | aria/Submit Button | 접근성 이름 셀렉터 |
| 테스트 ID | [data-testid="submit"] | 테스트에 권장됨 |
자세한 예시와 모범 사례는 셀렉터 문서를 참조 하세요.
모바일 셀렉터
모바일 셀렉터는 Appium을 통해 iOS 및 Android 플랫폼 모두에서 작동합니다.
접근성 ID (권장)
접근성 ID는 가장 신뢰할 수 있는 크로스 플랫폼 셀렉터입니다. iOS와 Android 모두에서 작동하며 앱 업데이트에도 안정적입니다.
# 구문
~accessibilityId
# 예시
~loginButton
~submitForm
~usernameField
모범 사례
가능한 경우 항상 접근성 ID를 선호하세요. 다음과 같은 이점이 있습니다:
- 크로스 플랫폼 호환성(iOS + Android)
- UI 변경에도 안정성 유지
- 더 나은 테스트 유지보수성
- 앱의 접근성 향상
Android 셀렉터
UiAutomator
UiAutomator 셀렉터는 Android에서 강력하고 빠릅니다.
# 텍스트로 찾기
android=new UiSelector().text("Login")
# 부분 텍스트로 찾기
android=new UiSelector().textContains("Log")
# 리소스 ID로 찾기
android=new UiSelector().resourceId("com.example:id/login_button")
# 클래스 이름으로 찾기
android=new UiSelector().className("android.widget.Button")
# 설명(접근성)으로 찾기
android=new UiSelector().description("Login button")
# 조건 결합
android=new UiSelector().className("android.widget.Button").text("Login")
# 스크롤 가능한 컨테이너
android=new UiScrollable(new UiSelector().scrollable(true)).scrollIntoView(new UiSelector().text("Item"))
리소스 ID
리소스 ID는 Android에서 안정적인 요소 식별을 제공합니다.
# 전체 리소스 ID
id=com.example.app:id/login_button
# 부분 ID(앱 패키지 추론)
id=login_button