Получить элемент из списка с идентификатором автоматизации - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть просмотр списка, и я хочу получить, скажем, второй элемент из него и нажать на него с помощью uitest, у меня есть AutomationId для просмотра списка («ReportsList»).Может кто-нибудь написать мне функцию, которая может мне помочь?

1 Ответ

0 голосов
/ 26 сентября 2019

По сути, этот код работает, но при обновлении xaml вы также должны обновить запрос.

app.ScrollTo(app.Query(q => q.Id("ListViewAutomationId").Child(0).Child(0)).First().Label)) 

Использование дочернего элемента при запросе изменяется в соответствии с шаблоном элемента списка.Вы можете проверить это в Repl.

Другой метод заключается в том, что вы можете добавить AutoIDId к источнику данных listview, и вы можете привязать его к таблице данных:

<DataTemplate>
    <ViewCell>
        <Grid AutomationId="{Binding YourAutomationIdFromDataSource}">

после этого в тестовом проекте пользовательского интерфейса.:

App.ScrollTo("itemAutomationId")
App.TapAndWait("itemAutomationId")

Я знаю, что этот метод не совсем чистый, но я провел так много времени с другим методом, в конце мой последний метод работает хорошо.

...