2014-07-24 5 views
2

Robot Framework를 통해 Appium을 사용하고 있습니다. 클릭 요소를 사용하고 작업을 수행 할 수 있습니다. 그러나 드롭 다운에서 값을 선택할 때 appium의 inbuilt 명령은 없습니다.Appium - Robot Framework - 드롭 다운 선택

예제 : 저는 redbus 모바일 앱을 사용하려고합니다. 캘린더가 있습니다. 날짜를 선택해야합니다.

요소 21의 리소스 ID를 찾을 수 있지만 캘린더의 모든 숫자는 동일합니다.

여기 '자원 ID'는 동일하지만 숫자에 따라 '텍스트'가 변경됩니다. 내 '자원 ID'는 in.redbus.android:id/gridCellin.redbus.android:id/gridCell입니다.

리소스 ID가 모든 숫자에 대해 동일하므로 해당 리소스 ID의 클릭 요소가 21을 클릭하지 않습니다.

도와주세요. 나는 여기 붙어있어.

답변

0

클래스 이름, ID 및 텍스트를 비롯한 여러 가지 방법으로 요소를 참조 할 수 있습니다. 텍스트로 필요한 요소를 찾으려고 했습니까? 그것이 작동하지 않는다면 클래스 이름과 인스턴스를 사용할 수 있습니다. 정확하지는 않습니다.

ID : find_element_by_id (your_date_id)

클래스 : find_element_by_class_name (your_class_name, instance_number)

텍스트 : find_element_by_name (21)

경우 피난처 ' t는 UIAutomatorViewer를 사용한 다음 d를 찾기 위해 사용하는 것이 좋습니다. 요소에 사용할 수있는 식별자가 다릅니다.

+0

해당 숫자 사이에서 유일한 로케이터는 텍스트입니다. 클릭 요소 텍스트 = 21을 주려고했습니다. 오류가 발생했습니다. 접두어 텍스트가있는 요소 로케이터가 지원되지 않습니다. UIAutomatorviewer 만 사용하고 있습니다. – venugopal

2

마지막으로 내 문제에 대한 해결책을 찾았습니다.

로봇 프레임 워크를 사용하고 있습니다. 그래서, xpath = // *를 사용했습니다. [@ text = 21]

xpath를 사용하면 모든 노드에 특수 문자가있는 경우를 제외하고 거의 항상 잘 작동합니다.

나는 그 특수 문자의 경우에도 해결책을 얻으려고하고있다. 내가 대답을 찾으면 나는 게시 할 것이다.