小程序UI自动化(一):appium小程序自动化尝试
appium 进行 小程序自动化尝试:
由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现)
一、配置基础信息
启动微信app python脚本如下:
二、编写测试脚本进入小程序首页
进入美团小程序首页实现脚本如下:
三、定位美团外卖首页元素(尝试结果不理想)
(1)尝试用android adk 自带UI Automator定位工具定位
在UI Automator上,点击页面元素,可以发现,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。
(2)获取页面上下文,看是否可以切换至小程序页(无法切换)
尝试打印美团首页context,脚本如下:
![](https://img2018.cnblogs.com/blog/1707637/201907/1707637-20190726170036724-416034415.png)
打印结果:
![](https://img2018.cnblogs.com/blog/1707637/201909/1707637-20190904180326722-1398576308.png)
从结果中可以看到,context只有一个,无法切换至小程序页
总结
小程序view页定位到的元素,如下图:
![](https://img2018.cnblogs.com/blog/1707637/201907/1707637-20190722184222184-848667898.png)
![](https://img2018.cnblogs.com/blog/1707637/201907/1707637-20190722183655721-1112492648.png)
从上图中可以看出,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。此时可以定位到元素,但是无法区分元素进行断言校验。
四、appium进行小程序自动化总结
小程序页元素可用UI Automator、appium inspector等定位工具定位到元素,但元素class属性都是一样的,故虽可定位到元素,但无法区分元素进行大多数断言校验,无法实现大多数的自动化用例。所以appium实现小程序自动化可行性不大,不建议用appium进行小程序自动化。
appium进行小程序自动化失败后,又继续寻找其他app自动化工具,苦苦找寻后发现网易的airtest可适用于小程序自动化,若需要进行小程序自动化的,可查看小编的博客【小程序UI自动化(二):airtest小程序自动化】