从具有自动化 ID 的列表中获取元素
Get an element from a list with automation id
我有一个列表视图,我想从中获取第二个元素并使用 uitest 点击它,我有列表视图的 AutomationId ("ReportsList")。
有人可以给我写一个可以帮助我的函数吗?
基本上,此代码有效,但是当 xaml 更新时,您还必须更新查询。
app.ScrollTo(app.Query(q => q.Id("ListViewAutomationId").Child(0).Child(0)).First().Label))
child at query 的用法根据 listview 的项目模板而变化。你可以在Repl中测试它。
另一种方法是将automationId添加到listview的数据源中,然后绑定到datatemplate中:
<DataTemplate>
<ViewCell>
<Grid AutomationId="{Binding YourAutomationIdFromDataSource}">
此后,在ui测试项目中:
App.ScrollTo("itemAutomationId")
App.TapAndWait("itemAutomationId")
我知道这种方法并不完全干净,但我花了很多时间在另一种方法上,最后我的最后一种方法效果很好。
我有一个列表视图,我想从中获取第二个元素并使用 uitest 点击它,我有列表视图的 AutomationId ("ReportsList")。 有人可以给我写一个可以帮助我的函数吗?
基本上,此代码有效,但是当 xaml 更新时,您还必须更新查询。
app.ScrollTo(app.Query(q => q.Id("ListViewAutomationId").Child(0).Child(0)).First().Label))
child at query 的用法根据 listview 的项目模板而变化。你可以在Repl中测试它。
另一种方法是将automationId添加到listview的数据源中,然后绑定到datatemplate中:
<DataTemplate>
<ViewCell>
<Grid AutomationId="{Binding YourAutomationIdFromDataSource}">
此后,在ui测试项目中:
App.ScrollTo("itemAutomationId")
App.TapAndWait("itemAutomationId")
我知道这种方法并不完全干净,但我花了很多时间在另一种方法上,最后我的最后一种方法效果很好。