티스토리 뷰

헉!!/ETC

[Appium] 화면 좌표로 터치하기

권태성 2024. 7. 21. 22:17
본문 내용은 Appium + JUnit 기반에서 진행된 내용입니다.

React-Native로 개발 된 앱 프로젝트에서 일부 Component로 구현된 UI가 XPath로 제어되지 않는 경우가 있었다.

버튼을 findElementByXPath로 지정해도 버튼을 찾지 못한다던가..

 

모든 화면이 아닌 특정 Component를 사용한 화면에서 발생했었고, 테스트 대상 디바이스가 정해져있었기 때문에 좌표로 해결하는 방향으로 결정했다.

 

일반적인 Element 조작은 WebElement Class를 이용하지만, 좌표로 제어해야하는 경우는 TouchAction Class를 이용한다.

 

// 버튼을 클릭
WebElement cancelBtn = (WebElement) driver.findElementByXPath("...");
cancelBtn.click();

// 좌표로 터치
TouchAction applyBtn = new TouchAction(driver);
applyBtn.press(PointOption.point(749, 1146)).release().perform();

 

TouchAction을 통해 터치 이벤트를 발생시키는 경우 아래 3가지 메서드가 연이어 사용된다.

  • press : 손가락으로 터치
  • release : 손가락을 뗌
  • perform : 앞에서 정의된 동작을 실제로 수행

 

 

728x90