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

【L1.第二章】如何搭建 Appium 环境与配置

Python+Appium+Pytest 自动化测试教程

  • Appium 所需环境下载与安装
    • JDK 介绍与下载
    • Android SDK 介绍与下载
    • Node.js 介绍与下载
    • Appium 服务端
    • Appium Inspector 介绍与下载
    • Python3 介绍与下载
    • Appium 客户端环境
    • 移动设备平台工具
  • Android Studio 安装 Android SDK 与环境配置
    • Android 配置环境变量
      • Windows 配置 Android 环境
      • MacOS 配置 Android 环境
    • Android 验证环境是否成功
  • Node.js 安装与环境配置
    • Window 环境安装 Node.js
    • Mac OS 环境安装 Node.js
    • Node.js 验证环境是否成功
  • Appium 服务端安装与配置
    • 安装 Appium ServerGUI 版本
    • 使用 npm 安装 Appium Server 命令版
      • Appium Server 命令版安装驱动
  • Appium Inspector 安装与配置
    • GUI 版本配置
    • Web 版本配置
  • 移动设备平台工具下载

Appium 所需环境下载与安装

JDK 介绍与下载

点击官方下载

在 Appium 中,UiAutomator2 通过 Java 编写与 Android 应用程序进行交互,因此需要配置 JDK 环境。可以参考安装教程贴进行安装。

Android SDK 介绍与下载

点击官方下载

Appium 使用 Android SDK 与 Android 设备通信、管理模拟器或物理设备,并执行 App 自动化测试。为了测试 Android 应用程序,需要安装 Android SDK,并确保在测试环境中正确配置了相应的路径和环境变量。

Node.js 介绍与下载

点击官方下载

安装命令行版本的 Appium Server 需要 Node.js 环境。确保正确安装 Node.js 以便启动 Appium 服务。

Appium 服务端

点击Appium Server GUI官方下载

在 2.x 版本之前,Appium 提供了命令行版本和图形化版本两种安装方式,用户可以选择其中一种进行安装。

Appium Inspector 介绍与下载

点击官方下载

在测试过程中,使用 Appium Inspector 工具辅助元素定位。确保安装并配置 Appium Inspector,以便在测试过程中准确定位 App 的元素。

Python3 介绍与下载

点击官方下载

Python 是跨平台的,也就是说它可以在Windows、Mac、Linux等系统上运行。Python 也是一种解释性语言,意味着代码在运行时被解释器逐行翻译成机器码。Python 的主要应用领域包括Web开发、数据科学、人工智能、机器学习、自动化、游戏开发等。

Appium 客户端环境

注意:必须需要先安装Python3环境

# https://pypi.org/ 可以安装所有第三方 Python 包
pip install Appium-Python-Client  # 安装 Appium 客户端

移动设备平台工具

模拟器:自行百度搜索模拟、逍遥、雷点、夜神等

在测试过程中,可以选择使用真机或模拟器。确保配置和优化所选平台的工具,以便进行有效的测试。

Android Studio 安装 Android SDK 与环境配置

打开 Android Studio —— Setting ——搜索 Android SDK
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0ae7444514af4604a68ed8651496c0fd.png

在这里插入图片描述

Android 配置环境变量

Windows 配置 Android 环境

  • 新增 ANDROID_HOME 系统变量
  • 变量名:ANDROID_HOME
  • 变量值:D:\xxxxx*.xxxx\sdk(SDK 安装的根目录)
    在这里插入图片描述

修改 Path 变量
在这里插入图片描述

MacOS 配置 Android 环境

修改 .bash_profile:

# .bash_profile# Setting PATH for ANDROID_HOME
export ANDROID_HOME=SDK 安装的根目录
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/build-tools/2x.x.x:$PATH

Android 验证环境是否成功

Window:Window+R 输入 cmd 回车—>输入 adb --version
在这里插入图片描述

Mac OS :打开终端—>输入 adb --version
在这里插入图片描述

Node.js 安装与环境配置

Window 环境安装 Node.js

安装过程中在如下图的界面需要选择 Add to PATH 选项(点击选项,蓝色高亮),选中会自动配置环境变量
在这里插入图片描述

Mac OS 环境安装 Node.js

双击 node-v2x.x.x.pkg 文件,点击继续——继续——同意——安装——完成

在这里插入图片描述

# 使用 brew 命令安装
brew install node # 回车

Node.js 验证环境是否成功

node -v
npm -v

在这里插入图片描述

Appium 服务端安装与配置

Appium 命令行版本的服务端目前官方已经更新到了 2.x 版本,以下会以 2.x 版本为例介绍命令行版本服务端的安装方式。

无论是 GUI 版本还是命令行版本,都是 Appium 服务端。使用时,二选一即可。

安装 Appium ServerGUI 版本

在这里插入图片描述

Window:双击安装程序——下一步——下一步——完成

Mac OS:双击安装程序——将程序移到——Applicantons
在这里插入图片描述

检查appium配置项,是否与本地配置的Java环境和Android SDK环境是否正常

在这里插入图片描述

点击 Start Server

在这里插入图片描述

使用 npm 安装 Appium Server 命令版

# 官方下载命令版 Appium Server
npm install -g appium # 官方源安装,会出现网络问题,多试几次# 换国内源下载(解决官方 npm 下载失败与下载缓慢的问题)
npm config get registry # 查看当前源地址
npm config set registry https://registry.npmmirror.com/ # 回车npm install -g nrm # 安装nrm
nrm ls #查看镜像列表
nrm use 用户名 #切换npm install -g appium # 安装 Appium Server

在这里插入图片描述

# 打开 Mac 终端
appium #回车

在这里插入图片描述

Appium Server 命令版安装驱动

注意:Appium Server 2.x 版本必须单独安装

appium driver install list  # 查询安装驱动''
"uiautomator2","xcuitest","espresso","mac2","windows","safari","gecko","chromium" #可以安装的驱动名称
''
appium driver install uiautomator2 # 和 Appium 分开安装npm i -g appium --dirvers=xuitest,uiautomator2 # 和 Appium 一起安装

驱动安装路径
Appium 2,在 APPIUM_HOME 环境变量定义的路径中安装此类依赖项,默认路径是 ~/.appium

Capability 配置 (参考文档)

1、之前称为 desired capabilities ,和之前最大的区别是任何非标准功能都需要供应商前缀,标准功能是在 WebDriver 协议中给出的。常用的有 browserName 和 platformName 等。

2、其它的功能名称中需要包含 供应商前缀,前缀的格式是 前缀: ,例如 Appium:。Appium 中的大多数 capabilities 都超出了标准的 W3C 功能,例如:

  • appium:app
  • appium:noReset
  • appium:deviceName
  • 图像分析功能移至插件

Appium2 的设计目标之一是将非核心功能拆离到插件中,这使得 Appium Server 的安装变得更加的容易,用户可根据所需要的功能选择是否下载对应的插件。Appium 各种和图像相关的功能已经移至 images 的插件中。

使用这个插件需要安装并启动时运行该插件:

  • 安装插件:appium plugin install images
  • 运行插件:appium --use-plugins=images
  • -支持配置文件

Appium2 不仅支持命令行参数,新版本的更新也增加了对配置文件的支持。配置文件可以是 JSON、JS 或 YAML 格式。

Appium Inspector 安装与配置

在这里插入图片描述

Window:双击安装程序——下一步——下一步——完成

Mac OS:双击安装程序——将程序移到——Applicantons

GUI 版本配置

在这里插入图片描述在这里插入图片描述

Web 版本配置

点击 Appium inspector Web
在这里插入图片描述

移动设备平台工具下载

  • MUMU模拟器下载
  • 夜神模拟器
  • 雷电模拟器

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【STM32 FreeRTOS】任务
  • 227还原实战(五)控制流专题
  • 抽象代数精解【6】
  • RabbitMQ使用Jackson进行消息队列的对象传输
  • CSP 2019 第四题: 加工零件
  • 量产工具——复习及改进(后附百问网课程视频链接)
  • 数字信号处理2: 离散信号与系统的频谱分析
  • 解决客户访问超时1s问题
  • C#如何对某个词在字符串中出现的次数进⾏计数(LINQ)
  • YOLOX修改检测框、标签文字的粗细大小
  • 产业链分析指南:产业链分析的七个步骤!
  • <数据集>电梯内人车识别数据集<目标检测>
  • 14. 计算机网络HTTPS协议(二)
  • LLM - 理解 主流大模型 LLM 都使用 Decoder Only 架构的原因 (总结8点)
  • MQTT服务器-安装篇(阿里云主机)
  • (三)从jvm层面了解线程的启动和停止
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • Bootstrap JS插件Alert源码分析
  • CSS魔法堂:Absolute Positioning就这个样
  • iOS | NSProxy
  • js数组之filter
  • nodejs调试方法
  • Service Worker
  • 安卓应用性能调试和优化经验分享
  • 闭包--闭包作用之保存(一)
  • 基于游标的分页接口实现
  • 深度解析利用ES6进行Promise封装总结
  •  一套莫尔斯电报听写、翻译系统
  • Java总结 - String - 这篇请使劲喷我
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #07【面试问题整理】嵌入式软件工程师
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #WEB前端(HTML属性)
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (Note)C++中的继承方式
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (初研) Sentence-embedding fine-tune notebook
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (七)c52学习之旅-中断
  • (七)Knockout 创建自定义绑定
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • . Flume面试题
  • .NET 8.0 发布到 IIS
  • .Net core 6.0 升8.0
  • .Net Redis的秒杀Dome和异步执行
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .net后端程序发布到nignx上,通过nginx访问