【自动化测试】—— 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)是计算机视觉领域中的一个…...

低空城市场景下的多无人机任务规划与动态协调!CoordField:无人机任务分配的智能协调场
作者:Tengchao Zhang 1 ^{1} 1 , Yonglin Tian 2 ^{2} 2 , Fei Lin 1 ^{1} 1, Jun Huang 1 ^{1} 1, Patrik P. Sli 3 ^{3} 3, Rui Qin 2 , 4 ^{2,4} 2,4, and Fei-Yue Wang 5 , 1 ^{5,1} 5,1单位: 1 ^{1} 1澳门科技大学创新工程学院工程科学系࿰…...

python:Tkinter 开发邮件客户端,能编写邮件,发送邮件带附件
Python Tkinter 邮件客户端 下面是一个使用 Python Tkinter 开发的简单邮件客户端,支持编写邮件和发送邮件功能: 功能说明 这个邮件客户端包含以下功能: 邮件编写功能: 收件人地址输入抄送地址输入邮件主题输入邮件正文编辑区&…...
OpenEuler服务器警告邮件自动化发送:原理、配置与安全实践
OpenEuler服务器警告邮件自动化发送:原理、配置与安全实践 在服务器的运维管理过程中,及时感知系统异常状态至关重要。当OpenEuler系统运行时,将服务器的警告信息实时推送至邮箱,能帮助运维人员快速响应潜在问题,保障…...

【Vue3】(三)vue3中的pinia状态管理、组件通信
目录 一、vue3的pinia 二、【props】传参 三、【自定义事件】传参 四、【mitt】传参 五、【v-model】传参(平常基本不写) 六、【$attrs】传参 七、【$refs和$parent】传参 八、provide和inject 一、vue3的pinia 1、什么是pinia? pinia …...
MySQL 8.0 绿色版安装和配置过程
MySQL作为云计算时代,被广泛使用的一款数据库,他的安装方式有很多种,有yum安装、rpm安装、二进制文件安装,当然也有本文提到的绿色版安装,因绿色版与系统无关,且可快速复制生成,具有较强的优势。…...
WEB3技术重要吗,还是可有可无?
我从几个角度给你一个全面、理性、技术导向的回答: ✅ 一、Web3 技术的重要性:“有意义,但不是万能” Web3 技术并不是可有可无的噱头,而是一种在特定场景下提供独特价值的技术体系。 它重要的原因包括: 1. 重构数字…...

客户端和服务器已成功建立 TCP 连接【输出解析】
文章目录 图片**1. 连接状态解析****第一条记录(服务器监听)****第二条记录(客户端 → 服务器)****第三条记录(服务器 → 客户端)** **2. 关键概念澄清****(1) 0.0.0.0 的含义****(2) 端口号的分配规则** *…...

基于Scala实现Flink的三种基本时间窗口操作
目录 代码结构 代码解析 (1) 主程序入口 (2) 窗口联结(Window Join) (3) 间隔联结(Interval Join) (4) 窗口同组联结(CoGroup) (5) 执行任务 代码优化 (1) 时间戳分配 (2) 窗口大小 (3) 输出格式…...

(LeetCode 动态规划(基础版))96. 不同的二叉搜索树 (递推 || 递归)
题目:96. 不同的二叉搜索树 思路:二叉树长度为n时,枚举每个点u作为根节点root,那么root左边的数构成左子树种数left,root右边的数构成右子树种数right,那么当前u为根节点下,二叉树的种数为left*…...
机器翻译模型笔记
机器翻译学习笔记(简体中文) 1. 任务概述 目标:将英文句子翻译成简体中文。 示例: 输入:Tom is a student. 输出:汤姆是一个学生。 框架:Seq2Seq(序列到序列)模型。…...