小程序UI自动化(一):appium小程序自动化尝试

时间:2022-11-04 21:35:50

appium 进行 小程序自动化尝试:

由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现)

一、配置基础信息

启动微信app python脚本如下:

小程序UI自动化(一):appium小程序自动化尝试

二、编写测试脚本进入小程序首页

进入美团小程序首页实现脚本如下:

小程序UI自动化(一):appium小程序自动化尝试

三、定位美团外卖首页元素(尝试结果不理想)

(1)尝试用android adk 自带UI Automator定位工具定位 

小程序UI自动化(一):appium小程序自动化尝试

小程序UI自动化(一):appium小程序自动化尝试

在UI Automator上,点击页面元素,可以发现,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。

(2)获取页面上下文,看是否可以切换至小程序页(无法切换)

尝试打印美团首页context,脚本如下:
 小程序UI自动化(一):appium小程序自动化尝试
打印结果:
 小程序UI自动化(一):appium小程序自动化尝试

从结果中可以看到,context只有一个,无法切换至小程序页

总结
小程序view页定位到的元素,如下图:
小程序UI自动化(一):appium小程序自动化尝试
 小程序UI自动化(一):appium小程序自动化尝试
从上图中可以看出,小程序页所有文本元素属性class都是android.view.View,图片的class属性都是android.widget.Image,且无id等常用属性值,仅可以通过text,坐标来定位元素唯一性。此时可以定位到元素,但是无法区分元素进行断言校验。

四、appium进行小程序自动化总结

小程序页元素可用UI Automator、appium inspector等定位工具定位到元素,但元素class属性都是一样的,故虽可定位到元素,但无法区分元素进行大多数断言校验,无法实现大多数的自动化用例。所以appium实现小程序自动化可行性不大,不建议用appium进行小程序自动化。

appium进行小程序自动化失败后,又继续寻找其他app自动化工具,苦苦找寻后发现网易的airtest可适用于小程序自动化,若需要进行小程序自动化的,可查看小编的博客【小程序UI自动化(二):airtest小程序自动化