Python 想知道大佬们做自动化测试的时候,是如何测出弹出的 toast?

一只咸鱼 · 2019年01月08日 · 最后由 我去催饭 回复于 2019年02月14日 · 2213 次阅读

实际情况:
测试点:无网情况下,点击 APP 内某个 button 按钮。检查弹出 toast:网络问题请重试
测试环境:airtest python

共收到 9 条回复 时间 点赞

这个我之前测过,不稳定,有时候抓的着有时候抓不着,后来干脆不检查了,截图就完了

稍微看下 uiautomator2 的源码

def get_message(self,
                           wait_timeout=10,
                           cache_timeout=10,
                           default=None):
               """
               Args:
                   wait_timeout: seconds of max wait time if toast now show right now
                   cache_timeout: return immediately if toast showed in recent $cache_timeout
                   default: default messsage to return when no toast show up

               Returns:
                   None or toast message
               """

可以去找找,在 toast 类里

Android 端的话,可以先系统录屏,再 ffmpeg 分帧,再逐个处理每帧图片看有没有 toast,可以用 airtest(需要先截一张 toast 的图作为查找目标),也可以用 OCR。
这种方式触发 toast 和后期查找 toast 是分离的,也可以同时进行,边截屏边分析图像,原理一样。

airtest 怎么样

刘旭 回复

最简单的测试设备连接路由器,路由器断外网。

您遇到过导入 toast 包的时候出问题吗

u2 里带一个功能 toast.get_message() 可以得到当前弹出的 toast 直接打印在运行框里。

刘旭 回复

主要关注点是如何测试是否弹出 toast

关键我都想不明白,怎么模拟无网的情况

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