Windows搭建Appium 记录贴
像Selenium可以操控Web浏览器,手机APP平台也有类似的自动化测试工具:Appium;
全文分基础介绍、环境搭建和案例演示三部分介绍Appium,以帮助Learner快速的上手。
基础介绍
详细原理介绍,请点击
Appium是一个开源的自动化测试框架,用于原生,混合和移动Web应用程序。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。关于它的运作流程,用图来介绍会更加生动形象一些:
在上图中,左边这部分是Appium-Client,通俗点来说,是用于间接驱动最右边的设备执行预定的自动化测试流程,支持使用多种主流的编程语言进行编写,这也是测试开发人员需要关注的核心部分;中间的Appium-Server是衔接左边客户端以及右边APP设备端的重要桥梁,一般仅需要配置好环境及启动运行;右边这块,当然就是实际执行自动化测试的终端,如IOS真机、Android真机,或者是模拟器。
Appium 环境安装
adb:android 的控制工具,用于获取android的各种数据和控制。连接设备
Appium desktop:内嵌了appium server 和 inspector的综合工具
Appium Server:appium的核心工具、命令行工具
Appium client:各种语言的客户端封装库,用于连接appium server
python 、java、ruby、rebotframework-appium
AppCrawler 自动遍历工具
工具:
Python3 已安装
1.Java 1.8
2. node js (>=10.0) npm(> 6.0)
3. Android SDK
4.Appium-Server:下载appium-desktop即可
5.Appium-Python-Client (编写测试脚本用)
6.终端:下载夜神安卓模拟器
7.实例:(1)模拟机安卓应用自动化测试(2)真机自动化化测试
1.安装JDK (1.8版本)
(1) 官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
(2) 选择Java SE 8u201/ 8u201,点击JDK下载
(4)配置系统环境变量
在“系统变量”一栏中,进行新建或编辑操作
(1)新建JAVA_HOME变量
变量名:JAVA_HOME
变量值:填写JDK安装目录(我的是 D:\Program Files (x86)\Java\jdk1.8.0_181)
(2)找到Path变量进行编辑,没有的话就新建一个
变量名:Path
变量值: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(原有变量值不要删除,直接在末尾添加)
//注意前面有个英文的分号,不要漏掉,这是为了跟前面的变量值间隔开的
//win10 配置path可以分开单独一行
(3)新建CLASSPATH变量
变量名:CLASSPATH
变量值: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
//可以直接复制这句话到变量值那一栏,注意前面有个“.”不要漏掉
点击确定,保存设置,回到桌面“win+R”,输入“cmd”
输入命令:java -version javac java
详细内容见 JMeter教程之安装 - 简书
2.安装node.js
-
由于Appium的server端是node.js编写的所以需要先安装node.js。安装node.js后,也可以直接按照官方教程通过npm安装Appium,不推荐这种方式。(注:npm类似于Python的pip,一个非官方包管理器)
-
官方下载地址:点击下载 ,根据自己的操作系统下载不同版本的node.js
-
node.js的安装一路傻瓜式next就可以了,注意一点,将路径改下,安装成功后会自动添加环境变量。也就是在cmd下任意目录都可以使用npm命令。
-
检查是否安装成功
cmd下输入:npm
如果提示“npm提示不是内部或外部命令”,手动在环境变量中加入nodejs安装目录:D:\Program Files\nodejs
3.安装Android SDK(安卓软件开发包)
- 安装Android SDK(安卓软件开发包),测试Android手机必然是要安装Android SDK。
方法一、下载地址:https://www.androiddevtools.cn/ 在sdk下下载(直接下载对应版本,解压至任意目录即可,注意路径不能包含中文,否则安装 SDK Manager.exe 时不能出来工具包)
方法二、网盘下载提取码: 5hvk
下载完成后根据readme.txt提供的命令更新SDK
cd 到解压缩目录下
- 在系统变量中,新建变量名:ANDROID_HOME,变量值写解压后的文件夹路径。(不建议这么做)
变量:ANDROID_HOME
值:D:\android-sdk-windows
3.在系统变量 Path 中添加platforms、tools、platform-tools、build-tools目录。保存修改。
变量Path,值:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;
PS:
更新SDK Manager.exe 不论如何更换镜像还是更改hosts文件,都无法更新。只能通过手动下载的方式进行。
解决:Android SDK platforms build-tools等镜像下载 : https://www.androiddevtools.cn/
PS:
Android开发——CMD “adb” 提示不是内部或外部命令,也不是可运行的程序或批处理文件——解决方案
配置环境环境path:D:\android-sdk_r23.0.2-windows\android-sdk-windows\platform-tools\ 【加上“ \ ”】
解决:Android SDK Platform-tools 解压后放到 “D:\android-sdk_r23.0.2-windows\android-sdk-windows”目录下、
4.检查:
CMD下分别输入:
adb
android
android -h
或者
monkeyrunner 验证tools环境配置是否成功
adb 验证配置platform-tools环境变量是否成功
aapt 验证build-tools的路径环境变量是否配置成功
4. Appium-server安装(推荐使用客户端安装)
npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
appium-desktop主要针对与初学者,用来录制脚本,其中自带appium server。
一般来讲,直接下载使用appium-server 即可。
appium-desktop安装:百度网盘-链接不存在 提取码: b396
appium server 安装
通过npm安装Appium 【不推荐】
C:\Users\fnngj>npm install -g appium
通过指定镜像安装(推荐)
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium
查看appium:提示appium不是内部或外部命令。:
D:\Program Files (x86)\Appium\node_modules.bin 加入环境变量path中。
5. Appium-Python-Client
选择python作为自动化测试脚本语言:
注:appium-desktop 和 模拟机 连接时,可以通过录制,进行操作模拟机,然后,把录制脚本转化为正式python脚本,可以复制到pycharm编辑器中,通过appium-python-client这个驱动来自动化模拟机。脚本在pycharm中运行,通过appium-server来操作模拟机。
pip install Appium-Python-Client
pip show Appium-Python-Client
依赖包
pip install urllib3
pip install selenium
python 环境中导入 appium 正常
from appium import webdirver
import appium
Appium-doctor 检测appium 环境
cnpm install appium-doctor
在命令行:appium-doctor
‘appium-doctor’ 不是内部或外部命令,也不是可运行的程序
解决:everthing搜索appium-doctor路径,将其加入path即可。
6. 安装夜神模拟器
点击下载夜神模拟器,选择磁盘进行安装,安装完成后找到 nox_adb的所在位置,复制文件路径,将其添加到环境变量中,变量名为nox_adb,变量值为其文件路径。
7.实例
(1)安卓应用自动化测试
(1)使用adb连接
首先,对SDK中platform-tools里adb版本,模拟器nox中bin里adb和 nox_adb的版本进行匹配;【此处版本不一致好像也无妨】
adb version
nox_adb version
如果版本不一致,将Android SDK/platform-tools中的adb 拷一份到夜神安装目录D:\Program Files\Nox\bin下,替换adb;
再重命名替换nox_adb.exe
打开模拟器后;cmd:adb devices 查看是否存在可用设备
如果没有可用设备列表为空,进入CMD,输入nox_adb.exe connect 127.0.0.1:62001
之后在输入 adb devices
(2)打开appium-desktop连接模拟器
Host: 127.0.0.1
Post 保持默认即可
ps:
夜神模拟器 adb connect 127.0.0.1:62001
逍遥模拟器 adb connect 127.0.0.1:21503
mumu模拟器 adb connect 127.0.0.1:7555
参考链接:用adb连接安卓模拟器_burp adb 5555 安卓模拟器_beautyxiang的博客-CSDN博客
await adb.uninstallApk(appPackage);