移动自动化环境搭建
## 测试工具选择
工具选择,就是选择哪个自动化工具去测试手机,以及使用什么高级语言。
1、Appium 自动化测试工具:开源,免费,跨平台,支持多语言。
2、Android 手机或手机模拟器
3、python 语言
4、Java
## 安装配置
JDK配置环境变量:
1、打开环境变量
2、在系统变量新建JAVA_HOME, 值为Java安装的路径
3、在CLASSPATH中填入值为**.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar**
4、设置path值为**;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin**
5、点击确认
验证是否安装并配置好:
打开黑窗口CMD输入 java -version
如果出现版本号则说明安装成功
**Android SDK安装**
1、解压到指定目录
2、进入我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
3、在系统变量下点击新建 -> 变量名: ANDROID_HOME -> 变量值: D:\android-sdk -> 点击确定按钮
4、在系统变量下找到系统的path变量,后添加: ;%ANDROID_HOME%\platform-
tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\buildtools\25.0.0 -> 点击确定按钮
验证是否安装成功:命令行输入adb
**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、运行nox-6.3.exe进行安装
2、配置环境变量(例如我的路径D:\Program Files\Nox\bin)
3、解决冲突:从adb和nox_adb中选择一个较高的版本。AndroidSDK下的 adb.exe 和 模拟器下
的 nox_adb.exe 版本不一致, 会产生冲突。可以件adb中的adb.exe复制到模拟器将原来的
nox_adb.exe进行替换并重命名为nox_adb。
验证是否安装:
命令行输入 adb devices , 如果显示 127.0.0.1:62001 device(手机的地址) 则说明夜神模拟器的
配置是ok的
**Appium安装**
1 启动安装程序
2 设置为所有人安装
配置
启动 Appium 桌面程序, 点击 Edit Configurations配置 ANDROID_HOME 和 JAVA_HOME , 选
择 保存并重启
点击 start server, 页面日志没有红色叉叉就ok了
**如果想用python语言执行Appium操作就得安装pip的appium-python-client这个驱动**
安装:打开命令行输入pip intall appium-python-client
**python相关**
安装 appium-python-client 包
通过命令行运行 pip install appium-python-client
作用: 让 appium 认识 python 的代码
验证方式
通过命令行运行 pip list 查看是否存在 appium-python-client
扩展
关于 pip
如果你本机同时装有 v2.x 和 v3.x 的 python 那么注意
pip 是为 v2.x 的 python 去安装第三方库/包
pip3 是为 v3.x 的 python 去安装第三方库/包
如果你本机只装有一个版本的python
使用 pip 命令即可
**Android SDK和Appium**
Android SDK:
SDK 是什么?
SDK 全程: Software Development Kit, 为程序开发提供各种支持, 如: 示例, 接口, 资源库
SDK Manager用于管理 Android SDK 各种工具包的版本, 为其安装卸载升级提供支持
Appium:
特点
开源 免费
支持多语言, 如: python, java, php, js, ruby, C#等
跨平台
工作原理
1. 测试人员写 python 自动化测试脚本, 通过 http 协议传给 appium 服务器
2. appium 服务器接收到脚本后, 会进行转化, 交给不同的移动端
如果是ios的, 那么就调用手机里的 bootstrap.js 帮你执行自动化测试
如果是Android的, 那么就调用 bootstrap.jar
3. 脚本执行完成后, 消息原路返回