Python+Appium+Pytest+Allure自动化测试框架-安装篇
文章目录
- 安装
- 安装ADT
- 安装NodeJs
- 安装python
- 安装appium
- 安装Appium Server(可选)
- 安装Appium-Inspector(可选)
- 安装allure
- 安装pytest
Python+Appium+Pytest+Allure框架的安装
- Appium是一个开源工具,是跨平台的,用于自动化iOS手机、Android手机和Windows桌面平台上的原生、移动web和混合应用。
- pytest是一个功能强大的 Python 测试框架,用于编写简单且可扩展的测试。
- Allure 是一个灵活且功能强大的测试报告框架,主要用于为自动化测试生成美观且信息丰富的测试报告。
安装
appium的安装:adt,nodejs,appium
再安装上pytest与allure, 整个框架就初始完成了。
安装ADT
https://www.androiddevtools.cn/#
下载ADT Bundle,并解压
设置环境变量
ANDROID_HOME
D:\tools\Android\adt-bundle-windows\sdk


Path添加adb的目录
%ANDROID_HOME%\platform-tools

安装NodeJs
在Windows上安装Node.js,你可以从Node.js官方网站下载安装包。以下是简单的步骤:
- 访问Node.js官方网站:https://nodejs.org/en/download/. 点击"Downloads"菜单,选择适合你系统的安装包。通常是一个.msi文件。
- 下载完成后,双击.msi文件开始安装。
- 按照安装向导的步骤进行,安装过程中可以自定义安装路径和你想要的其他选项。
- 完成安装后,打开命令提示符或PowerShell,输入node -v来检查Node.js是否正确安装,以及安装的版本。
示例代码(在命令提示符或PowerShell中运行):
node -v
正常会打印出版本号。

安装python
Python官方网站: https://www.python.org/
下载地址: https://www.python.org/downloads/
选择自己平台的版本下载并安装,安装时选自定义安装,注意Add Python to PATH这个选项打勾,可以免去自己添加环境变量。
Option Features中把pip勾选上。
安装完命令行中python -V查看

安装appium
nodejs安装完,可以用cnpm来安装appium
命令行输入才下命令安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
再用cnpm安装appium
cnpm install -g appium
安装完在命令行输入
appium -v
查看版本号

如果报错Error: Cannot find module ‘@colors/colors’
执行
npm install @colors/colors --location=global
在用webdriver.Remote函数连接appium过程,出现错误
Encountered internal error running command: Error: Could not find a driver for automationName 'UIAutomator2' and platformName 'Android'.
用指令查看
appium driver list --installed
√ Listing installed drivers
可以看到没找到有drivers,则手动安装
appium driver install uiautomator2
安装Appium Server(可选)
Appium是一个C/S结构,包括Server和Client。Appium Server是Appium的服务端,作为一个Web接口服务,使用Node.js实现
Appium-Server-GUI-windows-1.22.3-4.exe
https://github.com/appium/appium-desktop/releases
安装Appium-Inspector(可选)
Appium-Inspector-2024.9.1-win-x64.exe
https://github.com/appium/appium-inspector/releases
安装allure
-
安装allure命令
官网下载
选择最新版本,下载zip后解压,比如放到D:\tools\allure。
环境变量Path添加D:\tools\allure\bin
cmd中输入allure --version 查看是否安装完成。

-
安装allure-pytest
pip install allure-pytest
安装pytest
可以直接用pip指令安装
pip install -U pytest
在cmd中输入
pytest --version查看版本号,比如会打印如下pytest 8.3.3

这样整个框架就安装好了。
Python+Appium+Pytest+Allure自动化测试框架-代码篇
作者:帅得不敢出门
相关文章:
Python+Appium+Pytest+Allure自动化测试框架-安装篇
文章目录 安装安装ADT安装NodeJs安装python安装appium安装Appium Server(可选)安装Appium-Inspector(可选)安装allure安装pytest PythonAppiumPytestAllure框架的安装 Appium是一个开源工具,是跨平台的,用于…...
Python的socket使用
在 Python 中,可以使用 socket 模块编写一个支持多个客户端连接的服务端。常见的实现方式包括使用多线程、多进程或异步 I/O。下面以多线程为例展示如何编写一个服务端,来同时接收和处理多个客户端的连接。 多线程服务端代码示例 这个示例服务端代码中…...
如何快速搭建一个3D虚拟展厅?
随着元宇宙概念的兴起,一个全新的虚拟、立体数字空间正逐步成为我们生活的一部分。在这个空间里,用户可以沉浸其中,进行丰富的交互操作,体验前所未有的无限可能。而如何快速搭建一个属于自己的元宇宙3D虚拟展厅,正成为…...
Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)
webview打开本地Html文件 1.在路径前面加上file:// String filePath"file://"path;webView.loadUrl( filePath);2.打开权限 <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" />3.启用JavaScript 设置本地访问权限 webVi…...
解决项目中图片出不来的bug
在页面端图片呈现割裂状: 查看代码: 将代码改成: 即可正常显示图片。...
手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索)
手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索) 前言 前面的篇章中,我们从理论方向和实际市面上出现的音频线传输声音的方式,讨论绕开手机对SIM卡电话通话声音的封锁场景的可行性,并实际选购几款数字和模拟的USB转接…...
REST APIs与微服务:关键差异
在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而,它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样: 微服务:它们是构成更大规模基于微服务的应用程序的单个服务和功能&…...
【网安案例学习】反向蛮力攻击Reverse Brute Force Attack
【故事一】 在一个温暖的秋日下午,Jack坐在旧金山一家宁静的咖啡馆里,准备开始他的最新写作项目:追溯反向蛮力攻击的起源和发展。这是一个他一直想深入挖掘的主题,因为它揭示了网络安全世界中一个鲜为人知却极具影响力的故事。 …...
TCP/IP网络编程:理解网络编程和套接字
TCP/IP网络编程:理解网络编程和套接字 网络编程又叫做套接字编程,是因为在网络编程中依赖使用套接字(socket),网络编程一般是C/S架构,即客户端/服务器模式,在服务器端依赖套接字绑定自身接口,并开启监听客户端连接&am…...
CSS实现回到顶部且平滑过渡
背景 最近同学在项目开发的时候问了我一个问题:小白,回到顶部该怎么做呀?我当时就愣住了,心想这不是很基础的一个功能吗,然后想到该同学没有系统学过网页三剑客,我就给他讲了该怎么实现这个虽然基础但在很多…...
10 go语言(golang) - 数据类型:哈希表(map)及原理(二)
扩容 在 Go 语言中,当 map 的元素数量达到一定阈值时,会触发扩容操作以保持性能。这个过程称为 rehashing,即重新散列所有的键值对到一个更大的哈希表中。 扩容的条件 源码: func mapassign(t *maptype, h *hmap, key unsafe.…...
【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入
【论文解读】Med-BERT: 用于疾病预测的大规模结构化电子健康记录的预训练情境化嵌入 Med-BERT:pretrained contextualized embeddings on large-scale structured electronic health records for disease prediction 摘要:基于电子健康记录(EHR)的深度学习(DL)预…...
[POI2014] PTA-Little Bird(单调队列优化 DP)
luogu 传送门https://www.luogu.com.cn/problem/P3572 解题思路 先设 表示到 的最小劳累值。 很容易得出转移: 其中 由 和 的大小关系决定,并且 。 很显然,直接暴力是 的,会超时。 于是,考虑优化。 我们发现…...
【含开题报告+文档+PPT+源码】基于SpringBoot的体育馆管理系统的设计与实现
开题报告 近年来,随着人们生活水平的提高和健康意识的增强,体育馆作为提供体育锻和休闲娱乐的重要场所,其使用频率和管理难度也在不断增加。传统的体育馆管理模式通常依赖于人工记录和手动操作,不仅效率低下,而且容易…...
Vue3学习:vue组件中的图片路径问题
今天在做一个案例的时候,图片放在assets/images文件夹下,如下路径,其中的图片不能正常显示。 list: [{ id: 1, name: 欧拉公式啤酒杯, price: 30.00, src: ./assets/images/Euler.png},{ id: 2, name: 高斯分布马克杯, price: 40.00, src: ./…...
openCV基础-图像预处理Day26
图像预处理 在计算机视觉和图像处理领域,图像预处理是一个重要的步骤,它能够提高后续处理(如特征提取、目标检测等)的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法,以下是一些常见的图像预处理操作&…...
给文件添加可读可写可执行权限
在Unix、Linux或类Unix操作系统中,你可以使用chmod命令来给文件添加可读、可写和可执行权限。权限通常分为三组:文件所有者(owner)、文件所属组(group)和其他用户(others)。每组都可…...
golang有序map
最近使用go开发排行榜的需求, 有些情况会用到有序map, 但是go竟然没有有序map的实现 本着自己动手丰衣足食的原则, 就自己实现了一个 原理 原理比较简单, 主要结合了container/list双向链表和map 使用双向链表存储key和value, 保证顺序, 使用map存储key和节点信息, 保证查找…...
【LangChain系列4】【Chain模块详解】
目录 前言一、LangChain1-1、介绍1-2、LangChain抽象出来的核心模块1-3、特点1-4、langchain解决的一些行业痛点1-5、安装 二、Chain模块2-1、介绍2-2、LLMChain2-3、Sequential Chain(顺序链)2-4、Router Chain 总结 前言 LangChain给自身的定位是&…...
51c嵌入式~IO合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/12383193 一、单片机通信数据接收解析方法 前阵子一朋友使用单片机与某外设进行通信时,外设返回的是一堆格式如下的数据: AA AA 04 80 02 00 02 7B AA AA 04 80 02 00 08 75 AA AA 04 80 02 00 9B E2…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据!该数据集源自2025年4月发表于《地理学报》的论文成果…...
