xamarin.forms - Xamarin.UITest:如何确定 Xamarin.Forms.ListView 是否正在刷新?
问题描述
在 Xamarin.UITest 中,如何确定 aXamarin.Forms.ListView
是否正在刷新?
当我执行时app.Query(x => x.Class("ListViewRenderer"))
,我只得到这些结果:
Query for Class("ListViewRenderer") gave 1 results.
[
[0] {
Id => null,
Description => "md51558244f76c53b6aeda52c8a337f2c37.ListViewRenderer{b749570 V.E...... ........ 0,0-1080,1536}",
Rect => {
Width => 1080,
Height => 1536,
X => 0,
Y => 240,
CenterX => 540,
CenterY => 1008
},
Label => null,
Text => null,
Class => "md51558244f76c53b6aeda52c8a337f2c37.ListViewRenderer",
Enabled => true
}
]
解决方案
有关更多信息,我整理了这篇博文:https ://codetraveler.io/2019/10/03/xamarin-uitest-determine-if-xamarin-forms-listview-is-refreshing/
安卓
要从 Xamarin.UITest 与 Android 上的 ListView 交互,您必须使用Invoke方法来访问本机 Java Android API中的方法。
在 Android 上,我们可以SwipeRefreshLayout.isRefreshing()
像这样检查返回的值:
(bool)(app.Query(x => x.Class("ListViewRenderer_SwipeRefreshLayoutWithFixedNestedScrolling").Invoke("isRefreshing")).FirstOrDefault();
iOS
对于 iOS,我们可以检查UIRefreshControl
是否可见:
app.Query(x => x.Class("UIRefreshControl")).Any()
代码示例
public bool GetIsRefreshIndicatorDisplayed(Xamarin.UITest.IApp app)
{
if (app is AndroidApp)
return (bool)(app.Query(x => x.Class("ListViewRenderer_SwipeRefreshLayoutWithFixedNestedScrolling")?.Invoke("isRefreshing"))?.FirstOrDefault() ?? false);
if (app is iOSApp)
return app.Query(x => x.Class("UIRefreshControl"))?.Any() ?? false;
throw new NotSupportedException("Xamarin.UITest only supports Android and iOS");
}
示例应用
Here is a sample app where I've successfully implemented this methodology: https://github.com/brminnick/UITestSampleApp/blob/master/Src/UITestSampleApp.UITests/Pages/ListPage.cs
推荐阅读
- html - 在最后一个元素中创建带有 rownded 角箭头的 css 面包屑
- scala - 如何在 Lagom 中测试 REST API NOK 响应?
- reactjs - 改变状态时输入值不更新
- c# - 如何解决实体框架 5 中蛇盒 id 列上的错误“errorMissingColumn”?
- php - PHP 显示图片小问题
- android - Android Jetpack Navigation BottomNavigationView 和登录屏幕
- vue.js - 如何安全地验证付款和发送产品
- java - AWS Corretto 垃圾收集参数
- python - 如何使用 python unittest 模拟 aws 库 GlueContext
- regression - 同期回归分析