selenium - 如何以动态方式使用 appium 在 android 应用程序中知道我们是否到达页面末尾
问题描述
在 appium 自动化中,如果我们到达页面的末尾,我想结束我的检查条件。所以要知道我们是否到达页面末尾,我尝试了一些方法,例如
- 如果我们到达结束元素(如果显示结束元素,我们可以在页面的末尾)但这不是动态方式
- 用当前元素值检查前一个元素值。如果相同,我们可以说它的页面结束。但这里也不是一种动态的方式。
所以我猜测的是,如果我们采用 adb/appium 日志/响应并将它们与执行滚动操作之前和之后的结果进行比较,那么如果出现相同的日志/响应,我们可以说它是页面的结尾,对吗????
如果上述方法是正确的,我怀疑如果我们执行滚动操作,我们是否可以获得任何日志,如滚动已成功执行,如果滚动未执行,我们是否可以获得滚动未执行的日志????
任何解决方案表示赞赏,谢谢...
解决方案
我可以看到两种解决方案:
1)在每次滚动操作后,获取所有可见元素的列表,如果它与您之前的视图没有区别,则结束滚动。
2) 使用UiScrollable中的scrollToEnd()
driver.findElement(MobileBy.AndroidUIAutomator("Your UiScrollable here"))
到达页面的末尾。然后,您可以检查何时应该在实际测试中结束滚动。
如果你不知道如何使用 UiScrollable,这里有一篇很棒的文章。
推荐阅读
- python - 如何在 Mac 上点安装 django-auth-ldap
- java - 如何使用 CSVWriter 仅在 csv 中嵌入的逗号字符串上使用双引号?
- javascript - 带有 React Nextjs 的粘性导航栏
- c# - jQuery Array 未发布到 ASP.NET MVC 控制器
- javascript - 如何使一个复选框控制其他复选框,并且每个复选框都有自己的设置来控制
- c# - 使用 SSIS 脚本任务摆脱存储为文本的数字
- node.js - 是否可以使用 pg-promise 在一次往返中获得 2 个查询的结果?
- javascript - 未捕获的语法错误:无法在模块外使用 import 语句
- bitbucket-pipelines - 使用来自 Bitbucket Pipelines 的 docker-maven-plugin 将图像推送到 DockerHub
- python-3.x - Python GUI 计算器退格和清除