[RealWorld Test Automation. Day 12] correct UI test automation by Ranorex
6696 단어 testautomationranorex
Outline
이번에는 Ranorex를 사용해 WEB의 E2Etest를 제작할 때 UI를 정확하게 진행하는 테스트에 대해 기술했다.
이는 Ranorex에 국한되지 않습니다.특히 웹드라이브에서 자바 등으로 만들 때는 빠지기도 한다.
UI 테스트에서 테스트 자동화 스크립트를 사용자 시각으로 썼습니까?
사용자가 할 수 없는 일은 테스트 자동화된script를 통해 할 수 있습니다.
따라서 사용자의 처리는 NG였지만 테스트 자동화에서는 OK였다.
Example
https://keirin.kdreams.jp/
샘플 사이트로 K몽을 사용하는 사이트.
scenario는 다음과 같다.1. 投票ボタンを押す
2. 競輪場一覧のボタンを押す
3. 競輪場一覧から”宇都宮”を選ぶ
4. レース番号の変更のボタンを押す
5. レース一覧から”5R"を選ぶ
6. 投票方法の変更のボタンを押す
7. 投票方法から、”通常投票”、”ベーシック投票”を選び、設定する
조작영상은 다음과 같다↓
이 사이트의 특징으로서
https://keirin.kdreams.jp/
샘플 사이트로 K몽을 사용하는 사이트.
scenario는 다음과 같다.
1. 投票ボタンを押す
2. 競輪場一覧のボタンを押す
3. 競輪場一覧から”宇都宮”を選ぶ
4. レース番号の変更のボタンを押す
5. レース一覧から”5R"を選ぶ
6. 投票方法の変更のボタンを押す
7. 投票方法から、”通常投票”、”ベーシック投票”を選び、設定する
조작영상은 다음과 같다↓이 사이트의 특징으로서
사용자 프로세싱 필드가 올바르지 않음, 자동화 성공 테스트 예제 LOADR 편
사용자 처리장이 부정확하고 자동화 성공의 예를 테스트하는 애니메이션↓
너무 빨라서 왜 정확하지 않은지 알기 어려울지도 몰라요.
예를 들어, 경기 번호의 장면을 선택합니다.
아래 그림과 같이 마우스 클릭이 불가능한 LOADER 아이콘도 표시됩니다.
그러나script의 기술 방법에 따라direct에서 레이스 번호'6R'을 선택할 수 있습니다.
따라서 처리는 정상적으로 진행된다.
다만, 로더 등의 처리에 문제가 있어 사용자가 마우스로 클릭할 수 없는 상태라면 어떤가?
원래는 시험에 실패했어야 했다.
테스트 자동화된script가 성공하더라도 사용자 조작(수동 테스트)이 실패하기 때문이다.
정확히 말하면 로더가 사라질 때까지 기다려야 한다.
Ranorex에 기술할 때 "Wait for-Not exists"사용
사용자 처리장 부정확, 테스트 자동화 성공의 예 CSS 제어편
CSS에 디스플레이를 숨긴 상태에서 테스트 자동화도 성공했고 사용자 조작이 실패한 예도 있다.
경기 번호를 선택하는 모드 예시
이 모드는 CSS의 스타일로 디스플레이를 제어합니다.(display;blick;표시 모드)
선택한 번호판의 모드 숨기기
선택한 번호판의 모드를 표시합니다
Ranorex SPY에서 XPath 확인
선택한 번호판의 모드 숨기기
선택한 번호판의 모드 숨기기
SPY에서는 Xpath 중 어느 화면에서든 Reporitory it em이 제거되었음을 확인할 수 있습니다.
그러나 선택한 차량 번호의 모드가 표시되지 않을 때 Xpath는 회색입니다.
이것은 Xpath가 존재하지만 표시되지 않음을 나타냅니다.
이 Reporitoy item에 대해script가direct에서 선택한 기술을 사용하면 모드가 표시되지 않아도 선택할 수 있고 처리가 성공할 수 있습니다.
Ranorex 마우스로 클릭한 처리에서 script를 시작하는 예는 다음과 같다.
Ranorex는 위의 Xpath에 존재하지만 표시되지 않는 reporitory item의 경우 예상치 못한 위치(0.0 position)를 마우스 버튼으로 클릭합니다.이러면 실패할 거야.
이러한 상황을 피하는 예로 Ranorex의 SPY에 Vissible 옵션을 추가하면 Reporitory item이 나타나기 전에 사용할 수 있습니다.
물론 timeout을 표시하지 않으면 스크립트가 실패합니다. (정확한 동작)
Summary
위에서 말한 바와 같이 사용자의 시점에서 테스트 자동화를 조작할 수 있는지를 테스트로 설명하는 것은 매우 중요하다.
이번 예에서 Ranorex를 사용한 경우는 다음과 같다.
CSS에 디스플레이를 숨긴 상태에서 테스트 자동화도 성공했고 사용자 조작이 실패한 예도 있다.
경기 번호를 선택하는 모드 예시
이 모드는 CSS의 스타일로 디스플레이를 제어합니다.(display;blick;표시 모드)
선택한 번호판의 모드 숨기기
선택한 번호판의 모드를 표시합니다
Ranorex SPY에서 XPath 확인
선택한 번호판의 모드 숨기기
선택한 번호판의 모드 숨기기
SPY에서는 Xpath 중 어느 화면에서든 Reporitory it em이 제거되었음을 확인할 수 있습니다.
그러나 선택한 차량 번호의 모드가 표시되지 않을 때 Xpath는 회색입니다.
이것은 Xpath가 존재하지만 표시되지 않음을 나타냅니다.
이 Reporitoy item에 대해script가direct에서 선택한 기술을 사용하면 모드가 표시되지 않아도 선택할 수 있고 처리가 성공할 수 있습니다.
Ranorex 마우스로 클릭한 처리에서 script를 시작하는 예는 다음과 같다.
Ranorex는 위의 Xpath에 존재하지만 표시되지 않는 reporitory item의 경우 예상치 못한 위치(0.0 position)를 마우스 버튼으로 클릭합니다.이러면 실패할 거야.
이러한 상황을 피하는 예로 Ranorex의 SPY에 Vissible 옵션을 추가하면 Reporitory item이 나타나기 전에 사용할 수 있습니다.
물론 timeout을 표시하지 않으면 스크립트가 실패합니다. (정확한 동작)
Summary
위에서 말한 바와 같이 사용자의 시점에서 테스트 자동화를 조작할 수 있는지를 테스트로 설명하는 것은 매우 중요하다.
이번 예에서 Ranorex를 사용한 경우는 다음과 같다.
Finally
다음엔 11월??금요일쯤에 발표할 예정입니다.
테스트 자동화 리얼 월드 tips 계속 고려
back number
Reference
이 문제에 관하여([RealWorld Test Automation. Day 12] correct UI test automation by Ranorex), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/emurin/items/1c9540768cc7d4f99a91텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)