Appium环境搭建

Windows搭建Appium 记录贴

像Selenium可以操控Web浏览器,手机APP平台也有类似的自动化测试工具:Appium;
全文分基础介绍、环境搭建和案例演示三部分介绍Appium,以帮助Learner快速的上手。

环境搭建参考

基础介绍
详细原理介绍,请点击
Appium是一个开源的自动化测试框架,用于原生,混合和移动Web应用程序。 它使用WebDriver协议驱动iOS,Android和Windows应用程序。关于它的运作流程,用图来介绍会更加生动形象一些:

` Appium运行流程、原理 `

在上图中,左边这部分是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
  1. 由于Appium的server端是node.js编写的所以需要先安装node.js。安装node.js后,也可以直接按照官方教程通过npm安装Appium,不推荐这种方式。(注:npm类似于Python的pip,一个非官方包管理器)

  2. 官方下载地址:点击下载 ,根据自己的操作系统下载不同版本的node.js

  3. node.js的安装一路傻瓜式next就可以了,注意一点,将路径改下,安装成功后会自动添加环境变量。也就是在cmd下任意目录都可以使用npm命令。

  4. 检查是否安装成功

cmd下输入:npm
如果提示“npm提示不是内部或外部命令”,手动在环境变量中加入nodejs安装目录:D:\Program Files\nodejs

3.安装Android SDK(安卓软件开发包)
  1. 安装Android SDK(安卓软件开发包),测试Android手机必然是要安装Android SDK。

方法一、下载地址:https://www.androiddevtools.cn/ 在sdk下下载(直接下载对应版本,解压至任意目录即可,注意路径不能包含中文,否则安装 SDK Manager.exe 时不能出来工具包)
image

方法二、网盘下载提取码: 5hvk
image

下载完成后根据readme.txt提供的命令更新SDK
cd 到解压缩目录下
image
image
image

  1. 在系统变量中,新建变量名: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,变量值为其文件路径。
image
image

7.实例

(1)安卓应用自动化测试
(1)使用adb连接

首先,对SDK中platform-tools里adb版本,模拟器nox中bin里adb和 nox_adb的版本进行匹配;【此处版本不一致好像也无妨】
adb version
image
nox_adb version
image

如果版本不一致,将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);