你真的了解自动化测试框架么?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装饰器添加描述。 阅读详情

相关推荐

Cadence Virtuoso里搞定斩波运放AC仿真:PSS+PAC保姆级设置避坑指南

然而,当工程师们尝试在Cadence Virtuoso环境中对这种特殊结构进行AC特性分析时,往往会遇到传统AC仿真方法失效的困境——这正是PSS(Periodic Steady-State)与PAC(Periodic AC)仿真组合大显身手的场景。实际项目中我们常采用"先快后精"的两步法:先用快速设置确认大体趋势,再针对关键频段进行精细仿真。例如某次设计迭代中,将harmonics从10增加到20后,发现在1MHz处的相位裕度估算误差达15°,这解释了之前样机测试时的振荡问题。

weixin_33508411的博客 449

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

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

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

可调电源的电路设计

可调电源在电路调试中经常用到,可调电源分为两种2-5v(非0点可调)和0-5v(低至0点可调)可调两种。 对于第一种非0点电压的可调范围,其主要是由于开关电源或LDO芯片输出的最小电压为一个固定电压值,非0范围。因此通过调节开关电源或LDO端的反馈电阻的设计模型,其电压可调范围都与芯片的参考电压有关。 基于开关电源的可调电压设计电路 因芯片U2的输出参考电压VSENSE管脚为1.22v。因此,通过调节可调电阻R8的数值,其芯片输出的最低电压一定不小于1.22v。当然此种方案是手动可调输出电压的设计,如

weixin_42257266的博客 9731

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

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

changyixue的博客 1万+

Vivado安装教程:多版本共存的配置技巧

详解Vivado安装教程中的多版本共存配置技巧,帮助用户在同一系统中管理不同版本的Vivado开发环境,提升开发效率与兼容性,适用于需要切换版本的FPGA开发者。

weixin_35257663的博客 1774

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

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

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

weixin_45760314的博客 1943

别再怕非观测区了!手把手教你用移相法搞定PMSM单电阻FOC的电流重构难题

本文详细解析了永磁同步电机(PMSM)单电阻FOC系统中非观测区的电流重构难题,重点介绍了移相法的工程实践。通过STM32平台的具体实现和调试指南,帮助工程师有效解决相电流检测中的采样窗口不足问题,提升系统稳定性和性能。

weixin_27252001的博客 433

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

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

hlsxjh的博客 1362

使用Verilog实现QR分解——嵌入式 [设计与代码]

通过Verilog的硬件描述语言,我们可以将QR分解算法实现为硬件电路,并在嵌入式系统中高效地运行。本文将介绍如何使用Verilog设计并实现QR分解算法,该算法用于将一个矩阵分解为正交矩阵Q和上三角矩阵R。具体而言,QR分解通过对矩阵的列进行正交化处理,得到正交矩阵Q,并将对应的正交化结果存储在上三角矩阵R中。该算法通过将矩阵分解为两个部分,正交矩阵Q和上三角矩阵R,实现了对矩阵的分解和变换。模块,该模块接收待分解矩阵A,并输出正交矩阵Q和上三角矩阵R。下面给出了使用Verilog实现QR分解的源代码。

CodeMaven的博客 620

小米汽车车载多摄像头视频链路深度解析 | MAX96792/MAX96724/MAX96781 实战分享

通过合理的输入输出规划 + 虚拟通道管理 + 加串行策略,可以在成本和性能之间取得最佳平衡,这就是多摄像头系统设计的核心精髓。

weixin_43199439的博客 1547

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

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

2301_80119579的博客 1545

宇树G1语音助手完整开发指南(上)——从零构建智能知识库对话系统

本文将详细介绍如何为宇树G1人形机器人开发一个,实现"唤醒 → 对话 → 查询 → 回复"的智能助手功能。

m0_47999117的博客 783

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

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

zhangsiyuan1998的博客 1490

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

know__ledge的博客 1150

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

HUACE6035的博客 1145

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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、付费专栏及课程。

余额充值