【自动化测试】—— Appium安装配置保姆教程(图文详解)
目录
一. 环境准备
二. JDK安装
1. 下载JDK
2. 安装JDK
3. 配置环境
4. 验证安装
三. Android SDK安装
1. 下载Android SDK
2. 安装Android SDK
3. 安装工具
4. 配置环境
5. 验证安装
四. NodeJS安装
1. 下载NodeJS
2. 安装NodeJS
3. 验证安装
4. 安装淘宝镜像
五. Python及依赖包安装
1. 安装Python
2. 安装依赖包
六. APPium安装
1. 下载Appium
2. 安装Appium
3. 编辑配置
4. 启动服务
APPium是一个开源测试自动化框架,适用于原生、混合或移动Web应用程序的自动化测试工具。 APPium使用WebDriver协议驱动iOS、Android等应用程序。
作为一个自动化移动应用测试框架来说,可以很好的满足大部分移动应用测试的需求。作为当今仍然主流的自动化测试框架,各位测试同学要熟练的使用也就成为大家日常的基本内容之一。
一. 环境准备
本文以安卓自动化测试环境为例,需要安装的环境主要有以下几个:
- 安装JDK
- 安装Android SDK
- 安装NodeJS
- 安装Python及依赖包
- 安装APPium
安装包网盘打包下载:https://pan.quark.cn/s/f0470d00ff0c

二. JDK安装
因为Android 是由 Java 语言开发的,所以我们首先需要安装Java环境,Java 环境分JDK 和JRE ,JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。JRE是指Java的运行环境,是面向Java程序的使用者,而不是开发者。
1. 下载JDK
推荐Java8版本,其他版本不兼容,会导致AppiumServer启动不了,根据自己的系统选择相应版本下载,我这里使用x64 install。
官网下载地址:Java Downloads | Oracle

2. 安装JDK
(1)双击下载好的JDK安装包,点击【下一步】

(2)点击“开发工具”,点击【下一步】进行安装(点击“更改”可以修改安装路径)

(3)等待安装

(4)安装完成,点击“关闭”。

3. 配置环境
(1)右击此电脑-->属性-->高级系统设置-->环境变量

(2)配置JAVA_HOME:点击【系统变量】下的【新建】,输入变量名、变量值
变量名:JAVA_HOME
变量值:JDK的安装目录,如:C:\Program FilesJava\jdk1.8.0_211

(3)配置CLASSPATH:点击【classpath】下的【新建】,输入变量名、变量值
变量名: classpath
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

(4)配置Path:在系统变量列表下滑找到变量“Path”,点击【编辑】,在系统变量Path中添加:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin%

4. 验证安装
键盘 【win+R】,输入cmd打开命令行窗口,输入:java -version,显示Java版本说明安装成功。

三. Android SDK安装
安装完sdk,就可以直接使用adb命令了,我们做app自动化测试,也需要sdk环境的依赖。
1. 下载Android SDK
官网下载地址:https://www.androiddevtools.cn/
(1)打开官网链接,【Ctrl+F】搜索 SDK Tools,找到系统对应版本下载

2. 安装Android SDK
(2)双击运行下载好的exe文件,开始安装安装sdk manage

(3)点击【Next】

(4)继续点击【Next】

(5)选择“Installforanyoneusing thiscomputer",点击【Next】

(6)点击“Browse"可以修改安装路径,点击【Next】

(7)点击【Install】

(8)等待安装完后,点击【Next】

(9)安装完成,点击【Finish】

3. 安装工具
勾选安装的工具:
- Tools选择前面3个
- Android 10 全部勾选
- Extrats 全部勾选
(1)Tools选择前面3个

(2)Android 10(API 29) 全部勾选

(3)Extrats 全部勾选,点击【Install 21 packages】进行下载

(4)选择Packages名,勾选“Accept License",全部勾选完成后,点击”Install"
(注:以下界面实在勾选不上的可以跳过,点击【Install】进行安装即可)

(5)等待安装完成(时间会比较长)

(6)安装完成,点击【ok】,关闭窗口。

4. 配置环境
(1)右击此电脑-->属性-->高级系统设置-->环境变量

(2)新建系统变量,输入变量名、变量值
变量名: ANDROID_HOME
变量值: 自己的安装目录 如C:\Android\android-sdk

(3)编辑用户变量中的Path,新增两个路径:
%ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools

5. 验证安装
键盘按【 win+R】,输入cmd,打开命令行窗口,输入:adb version

四. NodeJS安装
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,允许开发者在服务器端运行 JavaScript。它以非阻塞、事件驱动的架构处理高并发,适用于构建高效的网络应用。
在 APP 自动化测试中,Node.js 常用于构建测试框架(如 WebDriverIO、Appium)。其异步处理能力可以高效执行多线程测试,快速模拟用户操作和验证 APP 功能,从而提升测试的自动化和并发能力。
1. 下载NodeJS
官网下载地址:Node.js — Download Node.js®
选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位

2. 安装NodeJS
(1)双击安装包,开始安装Node.js

(2)点击【Next】

(3)点击【Next】

(4)这里可以修改安装路径,修改完后继续点击【Next】

(5)选择默认安装,继续点击【Next】按钮

(6)不选中,直接点击【Next】按钮

(7)点击【Install】按钮进行安装(点击安装后会弹出提示,点击【是】,需要以管理员身份运行)

(8)等待安装

(9)安装完毕,点击【Finish】按钮

3. 验证安装
键盘按【 win+R】,输入cmd,打开命令行窗口,输入:
node -v // 显示node.js版本
npm -v // 显示npm版本

如上,搞定,说明安装成功。
4. 配置npm仓储和缓存
(1)命令行输入:npm config set registry https://registry.npmmirror.com/

(2)在node.js安装目录(默认安装目录:C:\Program Files\nodejs)创建cache 和 global文件夹

(3)令提示符依次执行下面命令,依次输入并按下回车键(Enter)
npm config set prefix "C:\Program Files\nodejs\global"
npm config set cache "C:\Program Files\nodejs\cache"

(4)输入命令【npm config ls】,按回车键,查看配置是否成功

4. 配置环境
(1)右击此电脑-->属性-->高级系统设置-->环境变量

(2)点击【系统变量】下的【新建】,新建系统变量,输入变量名、变量值
变量名: NODE_PATH
变量值: 自己的安装目录 如:C:\Program Files\nodejs\global\node_modules

(3)在系统变量列表下滑找到变量【Path】,点击【编辑】,编辑Path,变量【C:\Program Files\nodejs\】如果存在,就新建剩下的两个变量即可。
C:\Program Files\nodejs\
%NODE_PATH%
C:\Program Files\nodejs\global

- 测试Node.js
配置完成后,全局安装一个最常用的 express 模块进行测试
(1)右键使用管理员方式打开

(2)cmd命令提示符,输入:npm install express -g // -g代表全局安装
出现以下配置表示配置成功。

4. 安装淘宝镜像
淘宝镜像是淘宝团队为国内用户提供的npm镜像源,它与官方镜像源保持同步,并提供了更快的下载速度。
(1)管理员身份打开cmd,输入镜像安装命令:
npm config set registry https://registry.npmmirror.com

(2)查看淘宝镜像是否安装成功,执行命令:
npm config get registry
显示下图网址则说明安装成功!

五. Python及依赖包安装
1. 安装Python
参考文档:Python——安装教程(图文详解)-CSDN博客
Pycharm——安装教程(图文详解)-CSDN博客
2. 安装依赖包
需要安装的依赖包,如下:
- nose
- selenium
- Appium-Python-Client
启动cmd,分别输入:
pip install nose
pip install selenium
pip install Appium-Python-Client
进行安装操作, 如下图所示:
(1)nose安装

(2)selenium安装
如果系统中已经安装过了,再次进行安装时,会出现类似如下界面所展示的信息:

(3)Appium-Python-Client安装
安装完Python后,需要将 Python与Appium关联起来,cmd打开命令行窗口,输入:pip install Appium-Python-Client,提示成功就可以了。

六. APPium安装
1. 下载Appium
GitHub 在国内的下载速度比较慢,如果你没有【快速访问GitHub】的条件, 可以直接通过文章开始位置的网盘进行下载 。
官网下载地址:https://github.com/appium/appium-desktop/releases
进入官网,选择你电脑对应的操作系统版本下载。

2. 安装Appium
(1)双击下载好的exe可执行程序,进行安装

(2)选择“仅为我安装”,点击【安装】

(3)等待安装

(4)点击“完成”,安装完成。

(5)运行界面如下:默认IP为本机的(无需改动),端口默认4723。

3. 编辑配置
点击【Edit Configurations】编辑配置,出现默认配置,说明环境配置成功。

4. 启动服务
点击【startServer】启动服务器,看到下图的界面就说明服务是启动成功的(注:如果Android-sdk或者JDK没有安装成功,这里是无法启动的)。

如上,搞定,Appium环境搭建成功!
相关文章:
【自动化测试】—— Appium安装配置保姆教程(图文详解)
目录 一. 环境准备 二. JDK安装 1. 下载JDK 2. 安装JDK 3. 配置环境 4. 验证安装 三. Android SDK安装 1. 下载Android SDK 2. 安装Android SDK 3. 安装工具 4. 配置环境 5. 验证安装 四. NodeJS安装 1. 下载NodeJS 2. 安装NodeJS 3. 验证安装 4. 安装淘宝镜像…...
贪心算法详细讲解(沉淀中)
文章目录 1. 什么是贪心算法?(贪婪鼠目寸光)经典例题1.1.1 找零问题1.1.2最小路径和1.1.3 背包问题 2.贪心算法的特点2.1 证明例1 3.学习贪心的方向心得体会 1. 什么是贪心算法?(贪婪鼠目寸光) 贪心策略&a…...
RabbitMQ中有哪几种交换机类型?
大家好,我是锋哥。今天分享关于【RabbitMQ中有哪几种交换机类型?】面试题。希望对大家有帮助; RabbitMQ中有哪几种交换机类型? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在RabbitMQ中,交换机…...
STM32特殊功能引脚详解文章·STM32特殊功能引脚能当作GPIO使用嘛详解!!!
目录 STM32特殊功能引脚 使用STM32特殊功能引脚函数 禁止搬运,仅供学习,编写不易,感谢理解!!! STM32特殊功能引脚 本篇详解文章仅以STM32F103C8T6芯片来讲解,STM32芯片除了普通的GPIO引脚以外…...
Qt QComboBox的QSS美化
美化效果 QSS设置 /*QComboBox风格设置*/ QComboBox#comboBox_1 { border:2px solid #f3f3f3;/*设置边框线宽*/ background-color:rgb(237, 242, 255);/*背景颜色*/ border-radius:5px;/*圆角*/ padding: 1px 2px 1px 2px;/*针对组合框中的文本内容*/ min-width:2em;/*组合框…...
计算机视觉算法实战——实时车辆检测和分类(主页有相关源码)
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 1. 领域介绍✨✨ 实时车辆检测和分类是计算机视觉中的一个重要应用领域,旨在从视频流或…...
what?ngify 比 axios 更好用,更强大?
文章目录 前言一、什么是ngify?二、npm安装三、发起请求3.1 获取 JSON 数据3.2 获取其他类型的数据3.3 改变服务器状态3.4 设置 URL 参数3.5 设置请求标头3.6 与服务器响应事件交互3.7 接收原始进度事件3.8 处理请求失败3.9 Http Observables 四、更换 HTTP 请求实现…...
安装虚拟机VMware遇到的问题
问题1:进入如下界面,不知道如何操作 解决办法 键盘⬇️,选择“Reset the system”回车 问题2:系统存放位置我给放在了VMware安装目录,具体D:\software\VMware\Windows安装不行 解决办法:D:\software\virt…...
通过ESP32和INMP441麦克风模块实现音频数据传递
在现代物联网(IoT)项目中,音频数据的采集与传输成为了一个热门的应用领域。通过结合ESP32开发板和INMP441麦克风模块,我们可以实现一个低成本、高效率的音频数据传输系统。本文将详细介绍如何使用这两种硬件组件来构建和测试音频传…...
Vue中nextTick实现原理
源码实现思路(面试高分回答) 面试官问我 Vue 的 nextTick 原理是怎么实现的,我这样回答: 在调用 this.$nextTick(cb) 之前: 存在一个 callbacks 数组,用于存放所有的 cb 回调函数。存在一个 flushCallbac…...
数据仓库基础常见面试题
1.数据仓库是什么 数据仓库(Data Warehouse)是一个面向主题的、集成的、非易失的、随时间变化的数据集合,用于支持企业的管理决策。它不同于传统的操作型数据库,后者主要用于处理日常业务交易和实时查询,而数据仓库…...
Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
文章目录 单例模式1️⃣特性💪单例模式的类型与实现:类型懒汉式实现(线程不安全)懒汉式实现(线程安全)双重锁校验懒汉式(线程安全)饿汉式实现(线程安全)使用类的内部类实现⭐枚举方式实现单例(推荐)👍 单例…...
数字普惠金融对新质生产力的影响研究(2015-2023年)
基于2015—2023年中国制造业上市公司数据,探讨了数字普惠金融对制造业企业新质生产力的影响及作用机理。研究发现,数字普惠金融有助于促进制造业企业新质生产力的发展,尤其是在数字普惠金融的使用深度较大的情况下,其对新质生产力…...
国产编辑器EverEdit - 扩展脚本:新建同类型文件(避免编程学习者反复新建保存练习文件)
1 扩展脚本:在当前文件目录下新建同类型文件 1.1 应用场景 用户在进行编程语言学习时,比如:Python,经常做完一个小练习后,又需要新建一个文件,在新建文件的时候,不但要选择文件类型,…...
jupyter notebook练手项目:线性回归——学习时间与成绩的关系
线性回归——学习时间与学习成绩的关系 第1步:导入工具库 pandas——数据分析库,提供了数据结构(如DataFrame和Series)和数据操作方法,方便对数据集进行读取、清洗、转换等操作。 matplotlib——绘图库,p…...
dockerfile2.0
dockerfile实现lnmp nginx centos7 mysql centos7 php centos7 自定义镜像来实现整个架构 cd /opt mkdir nginx mysql php cd nginx 拖入nginx和wordpress vim Dockerfile vim nginx.conf ↓ worker_processes 1; events {worker_connections 1024; } http {include …...
【spring mvc】文件上传、下载
文件上传,存储至本地目录中 一、代码1、工具类(敏感后缀过滤)2、文件上传,存储至本地3、文件下载 二、效果演示1、上传1.1、postMan 请求1.2、上传效果 2、下载2.1、下载效果 一、代码 1、工具类(敏感后缀过滤&#x…...
FPGA工程师成长四阶段
朋友,你有入行三年、五年、十年的职业规划吗?你知道你所做的岗位未来该如何成长吗? FPGA行业的发展近几年是蓬勃发展,有越来越多的人才想要或已经踏进了FPGA行业的大门。很多同学在入行FPGA之前,都会抱着满腹对职业发…...
java fastjson2 解析JSON用法解析
Fastjson2 是 Fastjson 的升级版本,提供了更好的性能和扩展性,同时也在 API 和功能上做了很多改进。使用 Fastjson2 解析 JSON 数据非常简单,支持多种方式来解析 JSON 字符串、嵌套 JSON 对象和数组、以及转换成 Java 对象。下面详细介绍 Fas…...
计算机视觉算法实战——步态识别(主页有源码)
✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ 1. 步态识别简介✨✨ 步态识别(Gait Recognition)是计算机视觉领域中的一个…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
