考拉移动端目前实践过2种框架的UI自动化,Appium和SmartAuto。前者基于Java实现自动化,后者基于中文文本实现。
基于Appium的UI自动化
Appium是一个开源、跨平台的,适用于原生或混合移动应用(hybrid mobile apps)的自动化测试平台。Appium使用WebDriver(JSON wire protocol)驱动安卓和iOS移动应用,它
的核心是一个遵守REST设计风格的web 服务器,它接受客户端(测试代码)的连接,接收客户端的命令,在手机设备上(Bootstrap.jar)执行命令,然后通过HTTP的响应收集命令执行的结果。
首先,需要搭建一套Appium的开发环境,包括:
- Java环境配置
- Android环境配置
- 安装Appium
- 安装IDE
考拉移动端UI自动化选择Appium+Maven+Testng+Jenkins框架实现。Maven方便管理依赖,可跨平台自动构建。Testng提供了丰富的断言方式及可视化测试报告的输出。而基于Jenkins的持续集成,方便QA在每次上线前主动触发或定时触发自动化程序运行。
考拉移动端UI自动化框架:
如何编写一个简单的UI自动化用例:
- 下载代码:https://g.hz.netease.com/KaolaQATest/QAUITest
- 上传被测包:在代码路径下,找到/apps目录,上传apk并重命名为kaola.apk
- 获取页面元素:考拉移动端UI自动化基于UIAutomator定位页面元素。如图所示,考拉首页顶部banner的id为kaola_image_layout_view,使用Appium API中的findElementById("kaola_image_layout_view")即可定位到该元素。
- 实现页面操作:Appium封装了丰富的页面操作,用于寻找页面元素,实现点击、滑动、长按和输入等功能。基于Appium本身的特性,考拉移动端UI自动化,又二次封装了滑动寻找控件、多次滑动等常用手势方法,以及登录登出、点击新手引导、点击搜索框并搜索等常用业务方法。基于上一步找到的banner元素id,使用Appium API中的findElementById("kaola_image_layout_view").click()即可实现该元素的点击操作。
- 添加用例到testng.xml:将实现的自动化用例添加到testng.xml,可以接入Jenkins平台实现持续集成,并生成testng report监测测试结果。
- 接入持续集成。job地址:http://ci.hz.netease.com/job/kaola-mobile-onlineUI/
基于SmartAuto的UI自动化
SmartAuto是网易杭州研究院研发的一款利用图像识别、人工智能等先进技术手段实现的使用中文语言完成的UI自动化工具,具备易上手,好操作的天然属性。方便即使是不会写代码的测试人员也能参与到UI自动化中来,丰富测试用例,完善测试场景,能在app发版前代替部分手工回归的工作,解放人力,提高测试效率。
使用方法
- 连接手机到电脑,启动SmartAuto,选择餐单栏里“设备”
- 同屏成功后,在SmartAuto右侧出现手机实时屏幕
- 根据语法帮助编写脚本
- 上传到git仓库,方便多人协同编写
网易云新用户大礼包:https://www.163yun.com/gift
本文来自网易实践者社区,经作者褚静怡授权发布。