appium으로 React Native App에서 본격적인 Front End 자동화를 시작하셨다면 이제 element를 선택하는 부분을 굉장히 많이 사용하시게 됩니다.
element를 선택하는 방법 (혹은 지정)은 다양한 편인데요 appium 공식 페이지에서는 이렇게 정의하고 있습니다.
http://appium.io/docs/en/commands/element/find-elements/
저는 App에서는 주로 xpath / ID / Accessibility ID를 주로 사용했고
Web에서는 xpath / Class name / ID 를 주로 사용했습니다.
appium find elements 관련된 글을 검색해보신분은 아시겠지만 모든 가이드가 'xpath' 를 사용하지 말라고 하고 있습니다.
그 이유는 xpath는 '상대경로' 라서 UI/UX가 변경될 경우 사용하지 못하게 될 경우가 흔하고 appium이 xpath로 element를 찾는데 시간이 오래 걸립니다.
해서 유니크한 값을 가진 ID 혹은 Accessibility ID를 권장하죠. 속도도 빠르구요.
Web에서도 ID가 권장입니다. Class name도 xpath보다는 괜찮지만 유니크하게 이름이 쓰이지 않는 경우가 있어서 ID가 가장 좋기는 합니다.
그럼 이것들을 개발팀에게 요청을 해야하죠.
나: 개발자님 여기 로그인 버튼에 ID좀 넣어주실래요?
개발자: 네?....
이러면 개발자분들도 혼란이 올 수 있으니 명확하게 요청을 하기 위해서 하단 사이트를 참고합니다.
https://itnext.io/test-automation-in-react-native-ac9ac2330ab9
나: 개발자님 여기 로그인 버튼에, 안드로이드는 accessibilityLabel로, iOS는 testID로ID값 지정부탁드려요.
개발자: 네넵
사실 저 2개에 같은 값을 넣어주면 됩니다. 그럼 코드 재사용이 훨씬 쉬워지니까요
accessibilityLabel = "sign_pass"
testID = "sign_pass"
그리고 appium inspector를 켜보면 이렇게 보이는 것을 알 수 있습니다.
이제 ID를 팍팍 심어달라고 요청해서 자동화를 진행해봅시다.
'Automation' 카테고리의 다른 글
Appium에서 Android기기의 토스트 팝업 (toast popup) 텍스트 가져오기 (0) | 2020.09.28 |
---|---|
AI 테스트 자동화는 이루어질 수 있을까? (0) | 2020.09.27 |
newman 테스트 결과 Junit으로 slack 알림 보내기 (0) | 2020.09.06 |
postman에서는 정상이지만 newman 커맨드로 실행할 경우 400 에러나는 현상 (0) | 2020.07.06 |
프론트엔드, 백엔드 자동화 (Front End / Back End Automation) (3) | 2020.06.11 |
댓글