2016-05-03 5 views
0

Мне сложно учиться использовать класс UiSelector, найденный в android.support.test.uiautomator. Я несколько раз пытался связать методы, но не могу найти способ. Последнее, что я пытался выглядел так:как вы связываете UiSelector

self.driver.find_element_by_android_uiautomator(' 
        new UiSelector().fromParent(" 
        new UiSelector().resourceId(\"com.android.app:id/content_container\")").index(1)') 

Как я могу получить дочерний объект из родительского объекта, используя UiSelector? Может ли кто-нибудь помочь мне понять это? Заранее спасибо.

ответ

0

Если вы используете Appium, я не уверен, как это происходит. Но на базовом UIAutomator вам не нужно связывать новый UiSelector(), вы создаете один экземпляр UiSelector с привязанными свойствами. Например

UiSelector selector = new UiSelector().resourceId(<resource_id>).className(<className>).clickable(true); 

UiObject object = device.findObject(selector); 

Я предполагаю, что у вас есть UiDevice.device.

Вы можете также использовать BySelector и получить UiObject2:

BySelector selector = By.clazz(<class_name>).res(<resource_id>); 
List<UiObject2> objects = device.findObjects(selector); 
Смежные вопросы