2016-09-14 16 views
1

중복되지 않습니다.appium whlie 클라이언트를 사용하는 Android 설정의 토글 버튼은 groovy 및 java로 작성됩니다.

저는 자동화를 Appium에 쓰고 있습니다. 자동화 개념에 상당히 익숙하며 Appium 자체입니다. Java 클라이언트를 사용하고 있습니다.

나는 오토메이션을 쓰고있는 안드로이드 앱이 안드로이드 인증을 받아야한다는 시나리오가있다. 내 응용 프로그램은 아래 그림과 같이 Android 설정의 다음 설정 페이지로 이동합니다.

enter image description here

내가이 화면을 나타낼 것 페이지 개체를 만든이 페이지에서 클릭을 자동화합니다. 이 시나리오에서는 Switch을 토글 링하는 것에 만 관심이 있으며 상태를 얻는 방법을 배우게됩니다.

UI Automator Viewer에 대한 리소스 ID를 얻을 수 있습니다.

enter image description here

그래서 내 초기화 스위치 위젯을 액세스하려면이 같은입니다. 내가 기능 파일을 실행하면

SwitchID { $("#switchWidget") } 

은 분명히, Appium는이 스위치 위젯을 찾을 수 없습니다. 하지만 내가 작업하고있는 응용 프로그램 내에서 다른 위젯을 자동화 할 수 있습니다. 하지만 안드로이드의 설정 화면에서 아무것도 얻을 수 없습니다.

도움이 될 것입니다. 감사합니다.

+0

당신이 다음은 POM을 이해할 필요가 체크 할이며 어떻게 위젯이 액세스 할 때 당신의 요소를 얻을 귀하의 신청서에 의해. 저면에서 질문에 대한 정보가 매우 적습니다. – nullpointer

답변

1

UI에서 보이는 모든 구성 요소에 액세스 할 수 있습니다. 그것 단추 또는 스위치 또는 무엇 이건 있으십시오.
이름/id/xpath 등으로 Appium/Selenium 드라이버를 사용하여 요소에 액세스하는 방법에는 여러 가지가 있습니다.
UIAutomator를 사용하여 보이는 요소의 id/name/content desc를 캡처하면 끝났습니다!
UIAutomator 스크린 샷에서 볼 수 있듯이 ID와 이름이 모두 표시됩니다. 따라서 원하는 요소를 클릭 할 수 있습니다.
내가 클래스 이름으로 스위치를 얻을 것 자바 클라이언트를 사용하여
http://appium.io/introduction.html

1

(당신은 Appium에서 관련 그루비/자바 구문을 참조 할 수 있습니다). 다음과 같이 입력하십시오 : driver.findElement(By.className("android.widget.Switch"))

그루비 클라이언트에 대해서는 잘 모르겠지만 아마 비슷할 것입니다.

+0

감사합니다. TinyTimZamboni –

0

스위치가 이미 선택되어 있으면 어떻게됩니까? 당신이 탭 경우에 당신은 ... 사용하지 않도록 설정합니다

시도 :

driver.find_element_by_xpath("//android.widget.Switch[@resource-id='android:id/switchWidget' and @checkable='true']") 

이 의지 만