Android自动化测试简述
本文会对Android自动化测试内容,测试框架进行简单的概述,希望可以让大家对Android自动化测试有个大致的理解,然后以Appium为例,介绍其环境搭建和基本使用。
自动化测试内容
Android可以通过自动化框架或云测试平台进行自动化测试,测试内容包括以下几个方面
- 兼容性测试:安装、启动、卸载
- 功能测试:手势操作、功能验证
- 稳定性测试:app 是否容易出现闪退等现象
- 场景测试:模拟真实网络场景,2G、3G、4G、wifi 网络的切换
自动化测试框架
-
Espresso Espresso 是 Google 针对 Android 平台开源的一款 Android 自动化测试框架,主要是用于 Android App UI 自动化测试,采用Java编写测试代码,有Glide和Android Studio支持,测试跑起来相当的快(没有等待、睡眠)
-
UI Automator 也是 Google 官方出的一种简单的UI自动化测试工具,可跨APP测试,必须要Android4.0以上才能使用,如果在定位时想要使用使用资源id来定位控件的话,则必须在API18以上 uiautomatorviewer是android SDK自带的工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。该工具位于SDK目录下的tools\bin子目录下
-
Appium Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等
Appium: 是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。
Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium-desktop。
Appium Client: Appium 只是一个 Web 接口,他接受 HTTP 请求,所以各个语言都可以自己封装发送请求,于是就有 appium 下的各个子项目
Apppium安装和配置(Mac 版)
基础环境搭建
1 安装java环境,git,ruby,brew, Android SDK环境
// 检查是否安装上述环境
java -version
git --version
ruby -v
brew -v
adb
复制代码
2 配置相关环境变量
安装Appium和相关包(Java版)
1 Appium下载
2 java-client和selenium包下载 选择对应的Java Client,并在其详情页下方的Compile Dependencies,将依赖的selenium包也下载下来。在编写java自动化测试脚本时,按需下载Compile Dependencies中的包,如commons-lang3。
Apppium基本使用
实力允许的同学可以先看一遍视频教程
adb 命令
- 采用tcpip连接手机(需要电脑和手机在同一个局域网下)
// 先usb连接手机,设置手机tcp连接端口为5555
adb tcpip 5555
// 断开usb,采用tcpip连接手机
adb connect 10.33.70.165:5555
// 断开tcpip连接
adb disconnect 10.33.70.165:5555
复制代码
- 获取App信息
// 获取当前界面元素
adb shell dumpsys activity top
// 获取App入口
adb shell dumpsys activity activities
// 启动app
adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S
// 获取当前界面元素
adb shell dumpsys activity top
复制代码
- 操作手机(输入,按键,点击,滑动)
adb shell text/keyevent/tapswipe/press/roll
欢迎大家加入软件测试技术交流群1125760266交流,共同学习进步