你真的了解自动化测试框架么?Python+Requests+Pytest+Jenkins

【python】Pytest+Request+Allure+Jenkins 接口自动化测试Demo 概要:对postman的一个接口做了接口自动化测试,使用Pytest+Request+Allure+Jenkins 框架 技术栈: python3 、pytest、Requests Allure Jenkins 测试接口介绍 本例使用Postman自带的一个接口来做测试,url如下: https://postman-echo.com/time/before?timestamp=2016-10-... 阅读详情

01.自动化测试框架

在学习自动化测试或者实践自动化测试时,我们一定会对一个名词不陌生,那就是“自动化测试框架”。

而有些人也将 Selenium、Appium 这样的工具也称之为“自动化测试框架”,那么到底自动化测试框架如何理解呢?

软件工程中的框架(framework),特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。

在此结构上可以根据具体问题扩展、安插更多的组成部分(升级),从而更迅速和方便地构建完整的解决问题的方案。

根据以上框架的定义引申到自动化测试领域,我们可以定义自动化测试框架包括如下功能:

(1) 日志组件

记录和管理日志,方便定位问题,如 Log4j、logging 模块等;

(2) 测试报告

管理与生成测试报告,快速得到测试结果,如 Allure、HtmlReport 等;

(3) 测试静态资源

如配置文件、引用的其他静态资源管理,实现配置与测试脚本分离;

(4) 测试用例管理与执行

如 Java 语言体系 TestNG、Junit,Python 语言体系 UnitTest、Pytest 等;

(5) 测试数据管理

保存用例参数化数据,如可采用 Excel、YAML、CSV 格式文件,实现测试脚本与测 试数据分离;

(6) 公共模块(Common)

保存用例公共方法、通用操作;

(7) 驱动模块(Driver)

底层执行自动化测试引擎,如 Selenium Webdriver 网页端测试库、Appium client 移动端测试库、Requests/REST-assured 接口测试库。

其他辅助功能:

除了上述自动化测试框架基本组成成分之外,自动化测试框架还可以有更多其他的辅助功能,比如并行执行、失败重试、异常处理以及通过持续集成平台构建(如 Jenkins)。

总的来说,一个完善的自动化测试框架应该是具备高扩展性、可维护性、稳定性。如 Selenium、Appium 只是具备上述框架的部分功能而已,所以我们在选择自动化测试框架时更多的是多个工具/库的组合,

比如:Selenium+TestNG+Allure+Jenkins,Appium+TestNG+Allure+Jenkins 等等。

02.测试框架技术选型

目前常见的自动化测试类型包括接口自动化和 UI 自动化,目前市面上针对接口、UI 层面的自动化测试工具/框架有很多选择。

在进行技术选型之前首先要分析项目的架构和类型,如果项目主要通过接口的形式提供给其他服务使用,我们可以使用接口自动化。对于项目既有后端也有前端,在接口自动化层面的质量保证基础上再采用 UI 自动化。

接口自动化

目前市面上接口自动化测试技术都已经非常成熟,以下介绍几款比较主流的技术:

(1) Jmeter+Ant/Maven+Jenkins

Jmeter 由 Java 开发并开源,并且提供了可视化界面。通过 Jenkins 持续集成平台集成 Maven 或 Ant 插件,再通过 Maven 或 Ant 构建 Jmeter 脚本可以满足自动化测试持续集成。熟悉 Java 语言的情况下还可以对 Jmeter 做二次开发。

(2) Postman+Newman+Jenkins

Postman 是非常多测试人员会选择使用的一款接口测试工具,并且很多开发人员也会使用它对接口进行调试,上手简单并且功能强大。通

过 newman 可以支持命令行方式调用 Postman 测试用例执行,并且还可以通过 Jenkins 平台结合 newman 进行持续集成。

(3) Robotframework+RequestsLibrary+Jenkins

Robotframework(简称 RF),是一款基于关键字驱动的测试框架,主要通过封装关键字进行调用,使用 RequestsLibrary 测试库可以进行接口测试,RF 不需要懂编程语言也可以编写自动化测试用例。

(4) Java+REST-assured+TestNG+Jenkins

Java 语言体系中的 REST-assured 作为目前最流行的接口测试框架,基于 BDD 语法风格让编写接口测试用例变得非常简单,内置非常强大的功能如 hamcrest 断言及 Gpath 响应解析等,使用 TestNG 测试框架我们可以管理及执行测试用例。

(5) Python+Requests+Pytest+Jenkins

在 Python 语言体系中 requests 模块基于标准库 urllib 进行封装,支持其几乎所有特性,是目前最火的 python 语言接口测试库。

Pytest 同样属于 python 中的第三方单元测试库,相比标准库 Unittest 更加强大。

Web 自动化

目前应用最主流的的 Web 自动化框架还是 Selenium,其内置的 Selenium Webdriver 组件通过 JSON wire protocol 协议能够支持多款浏览器的自动化测试,包括 Chrome、Firefox、IE、Safari 等等。

Selenide 及 Katalon 这些自动化测试工具基于 Selenium 构建封装,其内部核心还是 Selenium Webdriver。

Java 语言技术栈:

Java+Selenium+TestNG+Jenkins

Python 语言技术栈:

Python+Selenium+Pytest+Jenkins

移动端自动化

移动端使用最为广泛的应该就是 Appium 了,Appium 是一个开源的自动化测试框架,支持 Android 和 iOS 上的 Web App、Native App 和 Hybrid App 的自动化测试。

Appium 基于 Selenium Webdriver 并添加了移动端相关的 API。

Java 语言技术栈:

Java+Appium+TestNG+Jenkins

Python 语言技术栈:

Python+Appium+Pytest+Jenkins

持续集成

自动化测试作为持续集成的重要一环,当开发部署新功能或更新功能时,持续集成平台运行自动化测试能够快速提供质量和定期反馈,目前成熟的持续集成平台非 Jenkins 莫属。

以Excel/YAML为数据驱动的python+requests+Pytest+Allure+jenkins集成的接口自动化测试 答案:接口自动化测试是利用工具或编写代码来自动发送接口请求,验证接口返回结果是否符合预期的过程。通过自动化可以提高测试效率,快速发现接口的问题,适用于频繁迭代的项目。答案:数据驱动测试是一种测试方法,将测试数据与测试脚本分离,通过不同的测试数据来驱动测试脚本的执行,从而实现对多种输入情况的测试。这样可以提高测试的覆盖率和灵活性。在测试代码中,使用allure.step装饰器添加自定义步骤,使用allure.description装饰器添加描述。 阅读详情

相关推荐

SpringBoot 自定义注解来实现动态切换数据源

/ 初始化数据源@Override@Inherited@Pointcut(“@annotation(包名.aop.DataSource)”) public void@Pointcut 注解定义了一个切点,名称为 dynamicDataSource。@annotation(包名.aop.DataSource) 表示这个切点匹配所有带有 @DataSource 注解的方法。

晴天飛 雪的博客 1838

Python + requests + pytest + allure + Jenkins 构建完整的接口自动化测试框架

本文介绍了使用Python技术栈构建完整的接口自动化测试框架的解决方案,包括requests库发送HTTP请求、pytest框架组织测试用例、allure生成可视化报告以及Jenkins实现持续集成。课程目标涵盖知识、技能和素质三个维度,从环境搭建到断言编写、测试组织、参数化测试和报告增强。通过一个用户登录接口的完整测试示例,展示了如何构造请求、处理响应、编写多维度断言,并利用allure记录测试步骤和结果。最终实现从测试执行、结果验证到报告生成的完整流程,并集成到CI/CD中实现自动化测试。

人工智能全栈工程师 | 智能算法研发与实战落地​专注于人工智能算法研究、代码实现与工程落地,提供从模型设计到部署应用的全流程解决方案。 1760

【操作系统】实验楼操作系统实验三——系统调用

操作系统实验3——系统调用 环境配置 ​ 首先同样是配置环境 cd /home/shiyanlou/oslab tar -zxvf hit-oslab-linux-20110823.tar.gz -C /home/shiyanlou 实验步骤 添加函数声明 cd ~/oslab/linux-0.11/include/linux gedit sys.h //添加内容: extern int sys_whoami(); extern int sys_iam(); fn_ptr_sys_call_table

qq_46612803的博客 6357

Python+Pytest+tox 接口自动化测试框架

该接口自动化测试框架使用python编写,同时使用tox配置不同的测试环境,以及使用pytest管理测试用例。使配置测试环境、维护测试数据、取接口信息和处理接口依赖等更加灵活

changyixue的博客 1万+

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 939

《信息化项目文档模板十二——业务需求新增/变更审批确认表 》

系列文章目录 《信息化项目文档模板一——项目需求说明书》 《信息化项目文档模板二——项目启动会文档模板》 《信息化项目文档模板三——会议纪要模板》 《信息化项目文档模板四——系统项目蓝图设计模板》 《信息化项目文档模板五——系统详细设计模板》 《信息化项目文档模板六——系统详细设计模板》 《信息化项目文档模板七——系统开发计划模板》 《信息化项目文档模板八——系统功能测试模板》 《信息化项目文档模板九——系统压力测试模板》 《信息化项目文档模板十——系统推广上线计划模板》 《信息化项目文档模板十一——系统用

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1712

通过Python + pytest + Requests + allure + Jenkins实现接口自动化测试

通过Python + pytest + Requests + allure + Jenkins实现接口自动化测试

weixin_45760314的博客 1943

【科学文献计量】标准参考出版年谱(Standard RPYS)和多维参考出版年谱(Multi RPYS)

@[TOC](标准参考出版年谱(Standard RPYS)和多维参考出版年谱(Multi RPYS)) 1 标准参考出版年谱与多维参考出版年谱 1.1 标准参考出版年谱(Standard RPYS) 标准参考出版年谱(Standard Reference Publication Year Spectroscopy)是由Marx, Bornmann, Barth, and Leydesdorff(2014)和Marx and Bornmann(2014)提出的一种量化历史出版物对研究领域影响的方法。该方法通

lys_828的博客 1103

测开新手:pytest+requests+allure自动化测试接入Jenkins学习

最近在这整理知识,发现在的知识文档缺少系统性,这里整理一下,方便后续回忆。在python中,大家比较熟悉的两个框架是unittest和pytest:Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

hlsxjh的博客 1362

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——原生“龙虾”OpenClaw快速部署、问题速查与避坑指南

至此,你已经完成了从选购服务器到配置AI大脑的全过程。无论是想在云上养一只7x24小时的“龙虾”,还是在本地体验AI Agent的魅力,上述指南都提供了明确的路径。下一步,就是接入飞书、钉钉或QQ,让你的OpenClaw真正开始“干活”赚钱了 [citation:6]。

冯·诺依曼 990

AI自动化流程在金融风控中的3个典型案例

AI自动化风控流程全流程自动化:最小化人工干预,实现从数据输入到决策输出的闭环自适应学习:通过持续数据反馈实现模型自动迭代优化实时决策能力:满足毫秒级(支付风控)至分钟级(信贷审批)的响应需求多模态数据融合:整合结构化、非结构化和实时流数据智能决策解释:自动生成符合监管要求的决策解释人机协同机制:在高风险场景下实现AI与人类专家的协同决策实施后关键绩效指标(KPI)变化指标实施前实施后改进幅度平均审批时间3.2天4.7分钟-99.7%自动审批率15%85%+467%

架构师的AI之路,分享AI应用开发架构的学习与实践。 1535

Python+Pytest+Allure+Git+Jenkins接口自动化框架

Python+Pytest+Allure+Jenkins接口自动化框架,实现Excel或Json维护测试用例,支持数据库操作,利用封装的请求基类调取相应的测试用例接口,获取配置文件中的环境地址与环境变量,当我们运行主函数时,并生成对应的测试用例报告时,我们可以看到在该文件夹中会生成对应的json文件的测试报告。将json文件的测试报告转换成html形式的。测试用例中维护在Excel文件中,类中定义如何获取Excel中的相关数据(如获取某个单元格的内容,获取单元格的行数,以及将数据写入Excel中等操作)。

2301_80119579的博客 1545

wireshark提取视频数据之RTP包中提取H264和H265

本文主要描述从wireshark包数据中提取出H264和H265裸流数据方法,裸流通过RTP封包方式发送,从抓包中直接提取视频流数据,进而进行流媒体问题定位

技术控的笔记 17万+

Python+requests+pytest+allure自动化测试框架

allure有很多有趣的操作,甚至控制用例执行行为,有兴趣可以拓展实现框架的难点在接口依赖接口自动化应避免复杂的接口依赖,复杂的依赖只会造成测试的不可控性注意频繁的操作excel会消耗性能有兴趣可以将本框架集合在Jenkins中这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

zhangsiyuan1998的博客 1490

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Pytest+requests进行接口自动化测试6.0(Jenkins)

本文介绍了使用Jenkins部署自动化测试项目的完整流程(gitlab + jenkins邮件推送allure)

know__ledge的博客 1150

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python+requests+pytest接口自动化测试框架的搭建

1、这里每一个文件对应一个接口所需要的测试数据,命名规则为nameA.xlsx或者nameA.yaml(nameA泛指待测接口名称),文件里面可以存放调用接口所需的参数name、参数value、所需cookie、预期输出结果--封装的断言方法,用于验证接口返回值和预期结果是否一致config.py--封装读取配置文件的方法--把测试数据加工成接口所需要的格式log.py--封装的记录日志的方法request.py--封装的https请求方法,主要是post和get。

HUACE6035的博客 1145

python+requests+pytest接口自动化测试全流程

本文介绍了基于Python的自动化测试流程,主要使用pytest框架进行接口测试。流程包含:1)通过YAML管理测试用例数据;2)requests库发送HTTP请求(GET/POST);3)pytest实现断言、参数化和夹具(fixture)管理;4)Allure生成可视化测试报告;5)Jenkins持续集成。重点讲解了pytest的配置、测试用例执行顺序控制、YAML数据读取方法,以及Allure报告的生成步骤。测试数据存储涉及MySQL和Redis,支持关系型和非关系型数据查询。该流程实现了从测试

2302_80424682的博客 1546

pytest+requests+allure自动化测试接入Jenkins学习

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

huace3740的博客 795

python自动化测试框架-基于pytest

设计思想 通过requests, BeautifulSoup实现API自动化,保证后端API主要功能及业务流程 通过selenium实现web UI自动化,appium+stf实现android UI自动化,保证前端页面操作功能及业务流程 通过pytest对测试脚本进行管理,allure report 实现报告输出 通过maven实现脚本CI(jerkins),tomcat实现测试报告线上化 使用python作为脚本语言 设计框架(autotestFrame.png)

jinwu18的博客 2563

pytest框架介绍

pytest是一个基于Python的测试框架,用于编写和执行测试代码。pytest应用在自动化测试场合、单元自动化测试、API自动化测试、web/app自动化测试等领域。可以使用pytest来编写代码来测试API、数据库、UI等。

llm200909的博客 2182
上一篇: 面试官:工作三年,还来面初级测试?你这样的简历邀约机会都没
下一篇: 卷麻了,00后测试用例写的比我还好,简直无地自容
程序媛月下
博客等级 码龄7年 5262粉丝 462原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值