课程大纲
1.第一阶段移动端测试环境搭建
移动端自动化测试的基础环境配置
1.1 安装Java环境
Android应用为例讲解,需要安装java环境
1.2 SDK环境
Android依赖SDK的环境
1.3 模拟器环境
考虑大家连接真机不方便,所以采用模拟器替代
1.4 ADB命令
1.1.Java环境安装
1.1.1 安装JDK1.8
运行jdk-8u151-windows-x64.exe文件,默认安装即可(例如我的安装目录:C:\Program Files\Java\jdk1.8.0)
1.1.2 配置java环境变量(Windowns7为例)
1.进入我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2.在系统变量下点击新建 -> 变量名: JAVA_HOME -> 变量值: C:\Program Files\Java\jdk1.8.0 -> 点击确定按钮
3.在系统变量下点击新建 -> 变量名: CLASSPATH -> 变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(***变量值最前面有一个".") -> 点击确定按钮
4.在系统变量下找到系统的path变量,进入在最后添加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(最前面是一个分号,如果path变量最后已有分号,可不用添加) -> 点击确定按钮
1.1.3 验证环境变量
1.win+r 或者 开始 -> 搜索框输入cmd
2. 在界面运行java -version
若出现如下图显示,证明安装成功
1.1.4 mac环境配置
1.进入命令行, vim ~/.bash_profile
2.# set jdk1.8
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
export PATH
1.2.Android sdk的环境配置
1.2.1 Android SDK文件夹解压到指定目录(我的解压目录:D:\android-sdk)
1.2.2 SDK环境变量配置(Windowns7为例)
1.进入我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2.在系统变量下点击新建 -> 变量名: ANDROID_HOME -> 变量值: D:\android-sdk -> 点击确定按钮
3.在系统变量下找到系统的path变量,最后添加:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;(最前面是一个分号,如果path变量最后已有分号,可不用添加) -> 点击确定按钮
1.2.3 验证环境变量
1.win+r 或者 开始 -> 搜索框输入cmd
2.在界面输入adb -> 按回车
3.在界面输入android -> 按回车,会出现Android adk manager对话框
4.若出现以上图显示,证明安装成功
1.2.4 mac环境配置
1.进入命令行, vim ~/.bash_profile
2.# set android
ANDROID_HOME=电脑存放的路径/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export ANDROID_HOME
export PATH
1.2.5 如何下载android版本
1.进入android-sdk目录,双击击SDK Manager.exe
因国外下载较慢,所以需要配置国内镜像
2.在弹出的Android SDk Manager页面,点击Tools ,下拉框点击Options...
镜像地址列表(也可以网上查找最新的):
中国科学院开源协会镜像站地址:
IPV4/IPV6: mirrors.opencas.cn 端口:80
IPV4/IPV6: mirrors.opencas.org 端口:80
IPV4/IPV6: mirrors.opencas.ac.cn 端口:80
上海GDG镜像服务器地址:
sdk.gdgshanghai.com 端口:8000
北京化工大学镜像服务器地址:
IPv4: ubuntu.buct.edu.cn/ 端口:80
IPv4: ubuntu.buct.cn/ 端口:80
IPv6: ubuntu.buct6.edu.cn/ 端口:80
大连东软信息学院镜像服务器地址:
mirrors.neusoft.edu.cn 端口:80
3.下载需要的Android版本,只需要下载SDK Platform (例如我要下载7.1.1版本)
4.下载对应android版本的Android SDK Build-tools(自动化测试获取toast消息时需要)
1.3.android虚拟机的安装
1.3.1 模拟器Genymotion安装
1.执行genymotion-2.11.0-vbox.exe(是一个集合程序,包含genymotion和virtualbox) -> 不需要更改配置,直接下一步默认安装
2.安装完genymotion继续等待,会提示安装virtualbox,继续安装,期间会提示安装oracle插件,全部允许安装
3.安装完成后会在桌面展示genymotion和virtualbox两个图标
1.3.2 虚拟机镜像导入
1.打开virtualbox
2.进入virtualbox -> 管理 -> 导入虚拟电脑
3.点击文件选择(Samsung Galaxy S6 - 5.1.0 - API 22 - 1440x2560.ova) -> 点击下一步
4.勾选 重新初始化所有网卡的MAC地址
5.点击导入按钮 -> 等待倒入完成
6.virtualbox列表会展示如下图圈出的选项
1.3.3 启动android模拟器
1.点击genymotion图标 -> 弹出框点击 >Personal Use
2.勾选复选框 -> 点击Accept -> 点击跳转页面的Close按钮
3.genymotion主界面点机start按钮
4.虚拟机启动成功
1.3.4虚拟机提供安装apk功能
1.安装genymotion ARM插件,此插件可提供x86运行环境,即可运行apk
⚠️ 需要下载对应版本的插件(本次使用android 5.1版本插件)
2.1.拖动ARM_Translation_Lollipop_20160402.zip到已启动的android虚拟机上
2.2.点击提示的ok按钮,见下图
5.3.再次点击提示的ok按钮,见下图,重启模拟器即可以安装apk文件
1.3.5 下载其他版本模拟器
1.需要注册一个genymotion账号,官网:https://www.genymotion.com
2.进入genymotion,点击Add按钮
3.点击Sign in,输入注册的genymotion用户名和密码
4.选择下载需要版本的模拟器
5.等待下载完成(下载时间根据网络)
1.4.ADB命令简介
ADB
ADB全名Andorid Debug Bridge。 是一个Debug工具。为何称之为Bridge呢?
因为adb是一个标准的C/S结构的工具, 是要连接开发电脑和调试手机的
包含如下几个部分:
1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。
2.Daemon守护进程, 运行在调试设备中, 即的调试手机或模拟器。
3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Daemon之间的通信。
三者之间的通信
Client<—>Server<—>Daemon
adb帮助
adb --help
启动adb server
adb start-server
关闭adb server
adb kill-server
获取设备号
adb devices
获取系统版本
adb -s 设备号 shell getprop ro.build.version.release
发送文件到手机
adb push 电脑端文件路径/需要发送的文件 手机端存储的路径
示例:
将桌面的xx.png发送到手机sdcard目录下
adb push C:\Users\win\Desktop\xx.png /sdcard
从手机拉取文件
adb pull 手机端的路径/拉取文件名 电脑端存储文件路径
示例:
将手机/sdcard目录中的xx.png文件,发送到电脑桌面
adb pull /sdcard/xx.png C:\Users\win\Desktop
查看手机运行日志
adb logcat
手机shell命令行
adb shell
获取app启动包名和启动名(⚠️ 手机需要先打开对应app)
1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’
adb shell dumpsys window windows | findstr mFocusedApp’
安装app到手机
adb install 路径/xx.apk
卸载手机手机app
adb uninstall 包名
获取app启动时间
adb shell am start -W 包名/启动名
示例:
adb shell am start -W com.yly.drawpic/.MainActivity
解释:
TotalTime:app自身启动时间
WaitTime:系统启动应用时间