当前位置: 首页 > article >正文

Appium下载安装配置保姆教程(图文详解)

目录

一、Appium软件介绍

1.特点

2.工作原理

3.应用场景

二、环境准备

安装 Node.js

安装 Appium

安装 JDK 

安装 Android SDK

安装Python及依赖包

三、安装教程

1.Node.js安装

1.1.下载Node

1.2.安装程序

1.3.配置npm仓储和缓存

 1.4. 配置环境

1.5.测试Node.js

2.APPium安装

2.1.下载Appium

2.2.安装Appium

2.3. 编辑配置

2.4. 启动服务

3. JDK安装

3.1.下载JDK

3.2.安装JDK

3.3.配置环境

3.4.验证安装

4.Android SDK安装

 4.1.下载Android SDK

4.2.安装Android SDK

4.3.安装工具

4.4.配置环境

4.5.验证安装


一、Appium软件介绍

Appium 是一个开源的、跨平台的移动端自动化测试框架,主要用于自动化测试 iOS 和 Android 应用,也支持 Windows 桌面应用4。以下是其详细介绍:

1.特点

  • 跨平台性:Appium 支持在 iOS 和 Android 平台上使用同一套 API 编写自动化测试脚本,实现 “一次编写,处处运行”,大大提高了测试代码的复用性,节省了测试成本和时间。
  • 多语言支持:它支持多种编程语言,如 Java、Python、JavaScript、Ruby 等。测试人员可以根据自己的编程习惯选择熟悉的语言来编写测试脚本,降低了学习门槛。
  • 无需重新编译应用:Appium 不需要对被测应用进行额外的编译或修改,可直接对已有的应用进行自动化测试,不会影响应用的正常开发流程。
  • 丰富的定位策略:提供了多种元素定位方式,如通过 ID、XPath、ClassName 等,方便测试人员准确找到应用中的各种元素,进而进行操作和验证。
  • 支持多种应用类型:可用于测试原生应用、移动网页应用和混合应用。原生应用是指用 Android 或 iOS SDK 编写的应用;移动网页应用是指使用移动浏览器访问的应用;混合应用是指原生代码封装网页视图,实现原生代码和 Web 内容交互的应用。
  • 基于 WebDriver 协议:Appium 基于 WebDriver 协议工作,支持 W3C WebDriver 标准,能利用 WebDriver 的强大功能,如元素定位、事件模拟等,来进行精细的控制和测试。

2.工作原理

Appium 通过在移动设备上启动一个服务器(Appium Server),与测试脚本所在的客户端进行通信。当测试脚本发送指令时,Appium Server 会将这些指令转化为设备能够理解的操作,比如点击、滑动、输入文本等。对于 iOS 应用,Appium 利用苹果的 UIAutomation 库来实现自动化;对于 Android 应用,则依赖于 UiAutomator 框架。

3.应用场景

  • 敏捷开发:在快速迭代的开发过程中,Appium 可以帮助团队及时发现并修复问题。
  • 回归测试:对于拥有大量功能的应用,自动化的回归测试可以大大节省时间和人力成本。
  • 持续集成 / 持续部署(CI/CD):Appium 可轻松集成到 Jenkins、Travis CI 等工具中,实现自动化构建和测试,确保软件的持续集成和交付。
  • 大规模测试:如果需要在多种设备或操作系统版本上验证应用,Appium 的跨平台能力可以发挥重要作用,方便在不同设备和系统上进行统一的自动化测试。

二、环境准备

  • 安装 Node.js

  • 安装 Appium

  • 安装 JDK 

  • 安装 Android SDK

  • 安装Python及依赖包


三、安装教程

1.Node.js安装

1.1.下载Node


Node官网https://nodejs.org/zh-cn/download

选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位

Tips:如果想下载指定版本,点击【以往的版本】,即可选择自己想要的版本下载

1.2.安装程序

(1)下载完成后,双击安装包,开始安装Node.js

  (2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮

 (3)可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮

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

 (5)点击【Install】按钮进行安装

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

 (7)测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口        

     输入:node -v     // 显示node.js版本

                npm -v      // 显示npm版本

  成功显示版本说明安装成功

1.3.配置npm仓储和缓存

(1)新建两个文件夹

  node_global:npm全局安装位置

  node_cache:npm缓存路径

(2)使用管理员身份打开cmd命令窗口输入指令

  ①npm config set prefix “你的路径\node_global” (复制你刚刚创建的“node_global”文件夹路径)

npm config set prefix "D:\develop\Node.js\node_global"


 ②npm config set cache “你的路径\node_cache”  (复制你刚刚创建的“node_cache”文件夹路径)

npm config set cache "D:\develop\Node.js\node_cache"

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

③安装淘宝镜像

npm config set registry https://registry.npmmirror.com

安装成功后会在C:\Users\用户名\下生成.npmrc文件。

或者npm config get registry查看源,可以看到设置过的所有的源

 1.4. 配置环境

①【此电脑】-单击右键-【属性】-【高级系统设置】-【环境变量】

② 在【系统变量】中点击【新建】

变量名:NODE_PATH

变量值:E:\Node\node-v10.15.3-win-x64(你的安装路径)

③编辑【用户变量】中的【Path】

%NODE_HOME%

%NODE_HOME%\node_global

然后你就会发现【node_global】里多出了一个【node_modules】文件夹

Tips:  如果输入变量值之后没有自动创建【node_modules】文件夹,就在【node_global】下手动创建一个【node_modules】文件夹,再复制你创建的【node_modules】文件夹的路径地址到变量值

1.5.测试Node.js

配置完成后,全局安装一个最常用的 express模块进行测试

(1)右键使用管理员方式打开

(2)cmd命令提示符,输入:npm install express -g //
-g代表全局安装

出现以下配置表示配置成功。

2.APPium安装

2.1.下载Appium

官网下载地址:Releases · appium/appium-desktop · GitHubAppium Server in Desktop GUIs for Mac, Windows, and Linux - Releases · appium/appium-desktophttps://github.com/appium/appium-desktop/releases

进入官网,选择你电脑对应的操作系统版本下载。

2.2.安装Appium

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

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

(3)等待安装

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

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

2.3. 编辑配置

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

2.4. 启动服务

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

3. JDK安装

因为Android 是由 Java语言开发的,所以我们首先需要安装Java环境,Java 环境分JDK 和JRE
,JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。JRE是指Java的运行环境,是面向Java程序的使用者,而不是开发者。

3.1.下载JDK

推荐Java8版本,其他版本不兼容,会导致AppiumServer启动不了,根据自己的系统选择相应版本下载,我这里使用x64install。

官网下载地址:Java Downloads |Oraclehttps://www.oracle.com/java/technologies/downloads/#java8

3.2.安装JDK

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

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

(3)等待安装

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

3.3.配置环境

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

(2)配置JAVA_HOME:点击【系统变量】下的【新建】,输入变量名、变量值

变量名:JAVA_HOME

变量值:JDK的安装目录,如:C:\ProgramFiles\Java\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%

3.4.验证安装

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

4.Android SDK安装

安装完sdk,就可以直接使用adb命令了,我们做app自动化测试,也需要sdk环境的依赖。

 4.1.下载Android SDK

官网下载地址:https://www.androiddevtools.cn/https://www.androiddevtools.cn/

(1)打开官网链接,【Ctrl+F】搜索 SDK Tools,找到系统对应版本下载

4.2.安装Android SDK

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

(3)点击【Next】

(4)继续点击【Next】

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

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

(7)点击【Install】

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

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

4.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.4.配置环境

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

(2)新建系统变量,输入变量名、变量值

变量名: ANDROID_HOME

变量值: 自己的安装目录
如G:\soft\Android SDK

(3)编辑用户变量中的Path,新增两个路径:

%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\cmdline-tools\latest\bin

4.5.验证安装

键盘按【win+R】,输入cmd,打开命令行窗口,输入:adb version

 

请添加图片描述

到这里我的分享就结束了,欢迎到评论区探讨交流!!

💖如果觉得有用的话还请点个赞吧 💖

相关文章:

Appium下载安装配置保姆教程(图文详解)

目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系? Django和Tornado都是Python的web框架,但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架,鼓励快速开发和干净、实用的设计。它遵循MVC设计,并强调代码复用。Django有…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)

注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...

2025.6.9总结(利与弊)

凡事都有两面性。在大厂上班也不例外。今天找开发定位问题,从一个接口人不断溯源到另一个 接口人。有时候,不知道是谁的责任填。将工作内容分的很细,每个人负责其中的一小块。我清楚的意识到,自己就是个可以随时替换的螺丝钉&…...

【Ftrace 专栏】Ftrace 参考博文

ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...

CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx

“Reactive Stream Processing in Industrial IoT using DDS and Rx” 是指在工业物联网(IIoT)场景中,结合 DDS(Data Distribution Service) 和 Rx(Reactive Extensions) 技术,实现 …...

python打卡第47天

昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...

大数据驱动企业决策智能化的路径与实践

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

高抗扰度汽车光耦合器的特性

晶台光电推出的125℃光耦合器系列产品(包括KL357NU、KL3H7U和KL817U),专为高温环境下的汽车应用设计,具备以下核心优势和技术特点: 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计,确保在…...

13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析

LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档?从规划到实践的完整指南 🌟 嗨,我是IRpickstars! 🌌 总有一行代码,能点亮万千星辰。 🔍 在技术的宇宙中,我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap,但是由于很多朋友看不了解命令行格式,所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习,链接:https://wwhc.lanzoue.com/ifJY32ybh6vc…...

起重机起升机构的安全装置有哪些?

起重机起升机构的安全装置是保障吊装作业安全的关键部件,主要用于防止超载、失控、断绳等危险情况。以下是常见的安全装置及其功能和原理: 一、超载保护装置(核心安全装置) 1. 起重量限制器 功能:实时监测起升载荷&a…...

Python的__call__ 方法

在 Python 中,__call__ 是一个特殊的魔术方法(magic method),它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时(例如 obj()),Python 会自动调用该对象的 __call__ 方法…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

raid存储技术

1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...

EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势

一、WebRTC与智能硬件整合趋势​ 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析

目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...

Android屏幕刷新率与FPS(Frames Per Second) 120hz

Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...

【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法

使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...

验证redis数据结构

一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...

算法250609 高精度

加法 #include<stdio.h> #include<iostream> #include<string.h> #include<math.h> #include<algorithm> using namespace std; char input1[205]; char input2[205]; int main(){while(scanf("%s%s",input1,input2)!EOF){int a[205]…...