Appium 在 app 自动化测试过程中,如何判断当前页面是否加载完成

燕子 · 2017年07月12日 · 最后由 winnie 回复于 2018年05月02日 · 3820 次阅读

在对 app 进行自动化测试的时候,我们很多时候仅仅是判断某个元素是否存在,但是实际上就算某个元素存在,并不表示页面一定加载完成了。
请问下大家:在 app 自动化测试过程中,如果判断当前页面是否加载完成的呢?

共收到 8 条回复 时间 点赞

法一:让开发加日志
法二:可以对比截图当前截图与目标截图
法三:根据 dumpsys 信息,可以判断,具体信息是啥忘记了

根据 activity 生命周期

其实是不可能完全判断到页面加载完的,有一个方法就是设定一段时间没有 view 的刷新,就可以判断页面刷新完了,具体可以看下 uiautomator 中的 waitforidle 方法

—— 来自 TesterHome 官方 安卓客户端

我觉得,没必要判断当前页面是否加载完成啊。
你自动化测试的目的是什么,是 UI 检查的话,检查你需要检查的 UI 就可以了。如果是业务逻辑的测试,有一些无关紧要的元素没有出现,或者没有加载完成也没有关系。

不管是手工测试还是自动化测试案例,必然有其关注的检查点,其他东西可以忽略过去。

你是想省事,一次判断,后面就不判断了吗?

我是循环查找某个元素,设个时间超过这个时间一直没找到就认为页面有误,找到了就认为页面加载成功了。

这个问题我也想解决。
回答等待某个元素出现的,这个方法并不适用所有场景。
比如我写 appium 遍历所有页面,有些页面是动态加载的,进入页面后可能需要几秒钟才加载完。这种场景不确定页面有哪些元素,自然无法根据等待某个元素来判断。
另外测试时也发现,某些元素即使出现了,去点击时却不可点击……原因是元素确实出现了,但是属性是动态加载的。

曲曲折折 回复

请问是否有解决方案?

8楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册