Appium [已解决] 怎么用 appium 测试首页中的轮播图,需对轮播图中的每个图片遍历一次,看起跳转是否成功

笑哼 for 转转QA · 2017年08月29日 · 3057 次阅读

RT:怎么用 appium 测试首页中的轮播图,需对轮播图中的每个图片遍历一次,看起跳转是否成功

共收到 19 条回复 时间 点赞

我会每个图片找到,然后点击下。。

截图,选取对比范围,进行图片对比,根据对比度判断,是否切换,需要 PIL 库之类的。

我们这边也有这样的需求,但是我们的轮播图是 5 秒切下个广告(会不会出现抓不到这个广告而很容易挂掉?),而且研发那边也没有给每个广告设置 id 或者下标属性什么的,想问问大家也是怎么做的?

有什么方法可以得到这个位置会轮播多少张图片?

恒温 回复

一个个点感觉挺麻烦的呀。。。

YueChen 回复

那怎么得到这个轮播图里总共轮播多少张图片呢?

jierong01 回复

我也在考虑这个问题,断言部分也不好做啊,因为这类都是运营的活动,每隔几天就会换

appium 感觉有点不好做
要知道多少个可以直接解析接口数据
要是我就会找到这个控件里面的 adapter,然后控制跳转,然后点击 呃 思路就这样 没有具体实现过😂

这个意义不大吧,banner 基本上天天变吧

笑哼 #10 · 2017年08月29日 Author
vegetableBird 回复

主要是看它在正常网络下加载是否成功,对此页面的具体内容没做自动化

笑哼 #11 · 2017年08月29日 Author
CloudHuan 回复

对的,首先要知道这里有多少张图片要轮播

笑哼 回复

你怎么判断加载成功呢,动态配置的 url,跳转也是不确定的啊

笑哼 #13 · 2017年08月29日 Author
vegetableBird 回复

因为加载不成功的话会出现例如 “加载失败,重试” 之类的文案吧,就验证这个 text,或者匹配加载失败的图片

笑哼 回复

如果有错误的标准图,在一段时间内实时检测控件图像,分析是否和错误图匹配就可以了。
图像分析匹配参考,OpenCV 的 MatchTemplate,或者 Sift 特征匹配.

笑哼 #15 · 2017年08月29日 Author
AI Tester 回复

3Q

笑哼 回复

我们这边的是帧布局,可以拿父 layout,然后那他的子控件数量,应该就可以了,不过真的感觉点击广告,跳转到特定登陆页不好做,天天变来变去的,现在我是判断他跳转就算了,没有断言到指定登陆页

图像对比最靠谱

jierong01 回复

虽然不建议你 -- 没找到 “加载失败” 就算通过了;你可以获取 banner 的 center 的 x,y,根据你 banner 的轮播策略,或是自己滑动,或是等待,然后直接点击 x,y

python 的话,可以用图片对比 win 环境,可以调用按键精灵图片对比的库来做 比较容易 ,通用点的方法 OpenCV 有图片中找到另一个图片的方法。java 或 linux 环境都可以参考。OpenCV 支持 java。

不过上面方法有个缺点,截图速度慢很容易失败,快速截图的方法可以自己论坛里找找

终极办法 换 appium 用 ATX😁

醋精测试媛 如何知道轮播图图片数量? 中提及了此贴 03月11日 15:31
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册