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

Python+Appium+Pytest+Allure自动化测试框架-安装篇

文章目录

  • 安装
    • 安装ADT
    • 安装NodeJs
    • 安装python
    • 安装appium
    • 安装Appium Server(可选)
    • 安装Appium-Inspector(可选)
    • 安装allure
    • 安装pytest

Python+Appium+Pytest+Allure框架的安装

  1. Appium是一个开源工具,是跨平台的,用于自动化iOS手机、Android手机和Windows桌面平台上的原生、移动web和混合应用。
  2. pytest是一个功能强大的 Python 测试框架,用于编写简单且可扩展的测试。
  3. 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官方网站下载安装包。以下是简单的步骤:

  1. 访问Node.js官方网站:https://nodejs.org/en/download/. 点击"Downloads"菜单,选择适合你系统的安装包。通常是一个.msi文件。
  2. 下载完成后,双击.msi文件开始安装。
  3. 按照安装向导的步骤进行,安装过程中可以自定义安装路径和你想要的其他选项。
  4. 完成安装后,打开命令提示符或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

  1. 安装allure命令
    官网下载
    选择最新版本,下载zip后解压,比如放到D:\tools\allure。
    环境变量Path添加D:\tools\allure\bin
    cmd中输入allure --version 查看是否安装完成。
    在这里插入图片描述

  2. 安装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

在页面端图片呈现割裂状&#xff1a; 查看代码&#xff1a; 将代码改成&#xff1a; 即可正常显示图片。...

手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索)

手机实时提取SIM卡打电话的信令声音-新的篇章(三、Android虚拟声卡探索) 前言 前面的篇章中&#xff0c;我们从理论方向和实际市面上出现的音频线传输声音的方式&#xff0c;讨论绕开手机对SIM卡电话通话声音的封锁场景的可行性&#xff0c;并实际选购几款数字和模拟的USB转接…...

REST APIs与微服务:关键差异

在构建基于微服务的应用程序时RESYful API和微服务这两个术语经常相伴出现。然而&#xff0c;它们指的是截然不同的东西。 了解 RESTful API 和微服务之间差异的最简单方式是这样&#xff1a; 微服务&#xff1a;它们是构成更大规模基于微服务的应用程序的单个服务和功能&…...

【网安案例学习】反向蛮力攻击Reverse Brute Force Attack

【故事一】 在一个温暖的秋日下午&#xff0c;Jack坐在旧金山一家宁静的咖啡馆里&#xff0c;准备开始他的最新写作项目&#xff1a;追溯反向蛮力攻击的起源和发展。这是一个他一直想深入挖掘的主题&#xff0c;因为它揭示了网络安全世界中一个鲜为人知却极具影响力的故事。 …...

TCP/IP网络编程:理解网络编程和套接字

TCP/IP网络编程&#xff1a;理解网络编程和套接字 网络编程又叫做套接字编程&#xff0c;是因为在网络编程中依赖使用套接字(socket),网络编程一般是C/S架构&#xff0c;即客户端/服务器模式&#xff0c;在服务器端依赖套接字绑定自身接口&#xff0c;并开启监听客户端连接&am…...

CSS实现回到顶部且平滑过渡

背景 最近同学在项目开发的时候问了我一个问题&#xff1a;小白&#xff0c;回到顶部该怎么做呀&#xff1f;我当时就愣住了&#xff0c;心想这不是很基础的一个功能吗&#xff0c;然后想到该同学没有系统学过网页三剑客&#xff0c;我就给他讲了该怎么实现这个虽然基础但在很多…...

10 go语言(golang) - 数据类型:哈希表(map)及原理(二)

扩容 在 Go 语言中&#xff0c;当 map 的元素数量达到一定阈值时&#xff0c;会触发扩容操作以保持性能。这个过程称为 rehashing&#xff0c;即重新散列所有的键值对到一个更大的哈希表中。 扩容的条件 源码&#xff1a; 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 解题思路 先设 表示到 的最小劳累值。 很容易得出转移&#xff1a; 其中 由 和 的大小关系决定&#xff0c;并且 。 很显然&#xff0c;直接暴力是 的&#xff0c;会超时。 于是&#xff0c;考虑优化。 我们发现…...

【含开题报告+文档+PPT+源码】基于SpringBoot的体育馆管理系统的设计与实现

开题报告 近年来&#xff0c;随着人们生活水平的提高和健康意识的增强&#xff0c;体育馆作为提供体育锻和休闲娱乐的重要场所&#xff0c;其使用频率和管理难度也在不断增加。传统的体育馆管理模式通常依赖于人工记录和手动操作&#xff0c;不仅效率低下&#xff0c;而且容易…...

Vue3学习:vue组件中的图片路径问题

今天在做一个案例的时候&#xff0c;图片放在assets/images文件夹下&#xff0c;如下路径&#xff0c;其中的图片不能正常显示。 list: [{ id: 1, name: 欧拉公式啤酒杯, price: 30.00, src: ./assets/images/Euler.png},{ id: 2, name: 高斯分布马克杯, price: 40.00, src: ./…...

openCV基础-图像预处理Day26

图像预处理 ​ 在计算机视觉和图像处理领域&#xff0c;图像预处理是一个重要的步骤&#xff0c;它能够提高后续处理&#xff08;如特征提取、目标检测等&#xff09;的准确性和效率。OpenCV 提供了许多图像预处理的函数和方法&#xff0c;以下是一些常见的图像预处理操作&…...

给文件添加可读可写可执行权限

在Unix、Linux或类Unix操作系统中&#xff0c;你可以使用chmod命令来给文件添加可读、可写和可执行权限。权限通常分为三组&#xff1a;文件所有者&#xff08;owner&#xff09;、文件所属组&#xff08;group&#xff09;和其他用户&#xff08;others&#xff09;。每组都可…...

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&#xff08;顺序链&#xff09;2-4、Router Chain 总结 前言 LangChain给自身的定位是&…...

51c嵌入式~IO合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12383193 一、单片机通信数据接收解析方法 前阵子一朋友使用单片机与某外设进行通信时&#xff0c;外设返回的是一堆格式如下的数据&#xff1a; AA AA 04 80 02 00 02 7B AA AA 04 80 02 00 08 75 AA AA 04 80 02 00 9B E2…...

Phi-4-mini-reasoning从零开始:学生自学AI推理工具搭建全过程

Phi-4-mini-reasoning从零开始&#xff1a;学生自学AI推理工具搭建全过程 1. 为什么选择Phi-4-mini-reasoning 作为一名对AI技术充满好奇的学生&#xff0c;我一直在寻找一个适合自学的推理模型。Phi-4-mini-reasoning以其专注推理任务的特点吸引了我。与通用聊天模型不同&am…...

Wan2.1视频生成创意玩法:把你的想法变成动态视觉故事

Wan2.1视频生成创意玩法&#xff1a;把你的想法变成动态视觉故事 1. 从文字到视频的魔法 你有没有过这样的经历&#xff1f;脑海中浮现出一个绝妙的创意场景&#xff0c;却苦于没有专业的视频制作技能将它呈现出来。或许是一个科幻故事的开场&#xff0c;一个产品演示的构想&…...

AListFlutter(手机alist)——跨平台网盘挂载神器,安卓设备轻松管理云端文件

1. 为什么你需要AListFlutter&#xff1f; 作为一个经常需要在不同设备间切换办公的现代人&#xff0c;我深刻理解手机存储空间不足的痛苦。每次想用手机看个电影&#xff0c;都要先删掉几个APP&#xff1b;想拍个视频&#xff0c;又得清理微信缓存。直到发现了AListFlutter这个…...

千问3.5-27B中文优化实践:提升OpenClaw指令理解准确率

千问3.5-27B中文优化实践&#xff1a;提升OpenClaw指令理解准确率 1. 为什么需要专门优化中文指令理解 上周我在用OpenClaw整理项目文档时&#xff0c;发现一个有趣现象&#xff1a;当我用英文说"organize these PDFs by date"时&#xff0c;AI能准确按日期分类文件…...

ShiftBrite SPI驱动原理与高精度RGB LED控制实战

1. ShiftBrite 控制库技术解析&#xff1a;基于 SPI 的高精度 RGB LED 驱动实现ShiftBrite 是一款经典的高亮度、可级联 RGB LED 模块&#xff0c;由 WorldSemi&#xff08;现属晶台股份&#xff09;早期推出的 WS2801/WS2803 系列驱动芯片演化而来&#xff0c;后被广泛用于 DI…...

医疗AI推理可视化卡顿难题(实时渲染延迟>120ms?)——三甲医院PACS系统C++底层优化全链路拆解

第一章&#xff1a;医疗AI推理可视化卡顿难题的临床影响与性能基线定义在放射科、病理科及急诊超声等实时决策场景中&#xff0c;AI模型输出热力图、分割掩码或病灶定位框后&#xff0c;若前端渲染延迟超过300ms&#xff0c;将直接干扰医师对动态影像序列&#xff08;如心脏搏动…...

OpenClaw安全防护指南:Qwen3.5-9B-AWQ-4bit执行权限管控

OpenClaw安全防护指南&#xff1a;Qwen3.5-9B-AWQ-4bit执行权限管控 1. 为什么需要安全防护&#xff1f; 当我第一次在本地部署OpenClaw对接Qwen3.5-9B-AWQ-4bit模型时&#xff0c;最让我后怕的是发现它竟然能直接删除我的工作目录。这个开源智能体框架赋予了AI像人类一样操作…...

三相离网逆变器在不对称负载下的正负序控制Matlab仿真探索

三相离网逆变器在不对称负载下的正负序控制matlab仿真: 1不对称控制包括: 正序分量处理负序分量处理正序控制环负序控制环&#xff1b; 2正序控制换路与负序控制换路都采用dq轴上的电容电压外环电感电流内环控制&#xff1b; 3直流电压Vdc700V&#xff0c;总功率15kW&#xff…...

74HC595移位寄存器驱动原理与CrazyHC595库深度解析

1. CrazyHC595库概述&#xff1a;面向嵌入式工程师的74HC595移位寄存器驱动深度解析74HC595是工业界最经典、应用最广泛的8位串行输入/并行输出移位寄存器芯片之一。其核心价值在于以3根GPIO线&#xff08;数据、时钟、锁存&#xff09;扩展出8个可独立控制的数字输出通道&…...

2026最权威的五大AI辅助写作神器解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 随着人工智能技术发展得格外迅猛&#xff0c;学术领域对于AI相关论文的需求增长得越来越快。…...