문제

앱의 공유 기능을 테스트하려고하지만 Android 대화 상자를 처리하는 방법을 알지 못하지만 "완전한 조치"(Facebook, Gmail 등)

query("*")를 사용하면 빈 필드 세트를 반환합니다.
Calabash 또는 다른 기능을 공유하는 다른 방법을 사용하여 이러한 시스템 대화 상자를 처리 할 수있는 방법이 있습니까?

물리적 장치에서 내 테스트를 실행하고 있습니다.

편집 : 대화 상자가 열리지 않았는지 여부를 확인할 수있는 방법이 없으면 ADB 쉘 또는 그런 식으로 사용할 수 있습니까?

도움이 되었습니까?

해결책

매우 우아한 솔루션이 아니지만 ADB를 사용하여 화면 터치를 시뮬레이션 할 수 있습니다.여기에서 덮은 답변이 있습니다 - adb를 사용하여 터치를 시뮬레이션 편집 : ADB를 사용하여 모든 UI 요소의 파일을 덤프하는 데 몇 가지 세부 정보를 추가합니다.

플랫폼 / Android-L 폴더의 Android SDK에는 uiautomater.jar가 테스트를 실행하는 데 사용할 수있는 uiautomater.jar라는 도구가 있습니다 (나는 그것을 사용한 적이 없음)을 실행하고 가시적 인 XML 파일을 덤프합니다.요소.

adb shell uiautomator dump test.xml

는 XML 파일 (컴퓨터가 아닌 장치의)을 생성하여 코드에서 팝업을 확인하는 것을 확인할 수 있습니다.팝업과 상호 작용하려면 XML 덤프에 주어진 좌표를 사용하여 원하는 것을 선택하고 ADB 터치 이벤트를 사용하여 클릭하십시오.

예쁜 해결책이 아니라 테스트를하기가 너무 어렵지는 않지만 ,)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top