自动化测试-友好的第三方库

目录

mock

furl

coverage

deepdiff

pandas

jsonpath


自动化测试脚本开发中,总是会遇到各种数据处理,例如MOCK、URL处理、JSON数据处理、结果断言等,也会遇到所采用的测试框架不能满足当前需求,这些问题都需要我们自己动手解决。

在强大的IT世界,我们遇到的百分之九十八问题,前辈们都遇到过并且给出了解决方案,有的无私前辈将其整理并开源,这些开源项目非常方便地辅助我们的自动化测试项目更好地进行,非常值得敬佩。

下面介绍一些自动化测试项目中经常会使用到且非常友好的Python第三方库。

mock

mock是Python中一个用于支持单元测试的库,它允许用户使用mock对象替代被测系统的部分,以达到模拟对象的行为。Python3.3版本以后mock被合并进Unittest模块中,我们可以直接导入使用。Mock对象是mock模块中的一个类实例,可以在测试脚本中模拟出大量的方法,返回指定值并设置所需的属性,还可以断言调用了哪些方法/属性及其参数。
例如接口测试中,当上一个接口没有开发好,但下一个接口已经完成并可以测试时就可以使用Mock模拟上一个接口,尽早地完成测试脚本的开发。

furl

furl是一个小众的用于解析和操作URL的Python库,虽然Python提供了urllib和urlparse模块可以处理URL相关的操作,但没有furl简易。例如furl('http://www.tynam.com/?a=1&b=2').args便可以获得参数{'a':1,'b':2}。

coverage

coverage是一个测量Python程序代码覆盖率的工具。目前许多自动化测试项目都确少代码覆盖率的统计,使用coverage模块便可对自动化测试用例进行评估,衡量测试的有效性。coverage通过监视被测程序,注意代码的哪些部分已被执行,然后分析源代码以识别可能已执行但未执行的代码。使用时通过简单的命令便能生成详细的覆盖率统计结果报告。

deepdiff

deepdiff模块常用来校验两个对象是否一致,并找出其中差异之处,非常有助于断言。deepdiff由DeepDiff(比较两个对象)、DeepSearch(在对象中搜索其他对象)和DeepHash(根据对象的内容进行哈希处理)三部分组成。自动化脚本开发时可以采用DeepDiff实现断言,DeepDiff不但支持丰富的校验对象,例如字符串、数字、数组、字典,还提供了许多参数用以设置比较方式,例如忽略大小写、忽略排序、忽略数据类型。

pandas

Pandas是Python语言的一个扩展程序库,用于数据分析。可以从各种文件格式(比如CSV、JSON、SQL、Microsoft Excel)导入数据并进行运算操作(比如归并、再成形、选择、数据清洗、数据加工)。如果将测试用例写在Excel或其他文件中,那么使用pandas从文件中读取大量测试数据并处理就会简易许多。

jsonpath

JsonPath用于解析JSON数据。提供的JSON解析功能非常强大,它提供了类似正则表达式的语法,基本上可以满足所有想要获得的JSON内容。接口测试中,许多接口返回的值都是JSON格式,我们使用Python语言的JsonPath库挺松提取到所需值。


 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/142875.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IP地址定位的特点

IP地址定位是一种广泛应用于网络领域的技术,它允许我们确定特定设备或用户在互联网上的位置。这项技术在很多方面都具有重要的特点,本文将深入探讨这些特点。 1.全球性覆盖: IP地址定位IP66_ip归属地在线查询_免费ip查询_ip精准定位平台具有全…

通信协议:Uart的Verilog实现(下)

4、UART接收器 UART接收器负责接收串行比特流,去除起始位和停止位,并以并行格式将数据保存到与主机数据总线相连的寄存器里。接收器无法获得发送时钟,因此尽管数据以标准比特率到达,但数据未必与接收主机内的时钟同步。同步问题可…

LaTex模板免费下载网站

LaTex模板免费下载网站 在进行文档排版时候,有时需要对不同类型文章的格式进行编辑,本博文推荐一个免费下载LaTex模板的网站。 一、网站地址 链接: LaTex模板网址:http://www.latextemplates.com/ 二、模板类型 模板类型如图2和图3所示。…

Ctfshow web入门 phpCVE篇 web311-web315 详细题解 全

CTFshow phpCVE web311 CVE-2019-11043 PHP远程代码执行漏洞复现(CVE-2019-11043)【反弹shell成功】-腾讯云开发者社区-腾讯云 (tencent.com) 漏洞描述 CVE-2019-11043 是一个远程代码执行漏洞,使用某些特定配置的 Nginx PHP-FPM 的服务…

程序开发常用在线工具汇总

菜鸟工具# https://c.runoob.com/ 编码# ASCII码# https://www.habaijian.com/ 在线转换# https://www.107000.com/T-Ascii/http://www.ab126.com/goju/1711.html Base64# 在线转换# https://www.qqxiuzi.cn/bianma/base64.htmhttp://www.mxcz.net/tools/Unicode.aspx …

【Html】用CSS定义咖啡 - 咖啡配料展示

显示效果 代码 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>CodePen - For The Love Of Coffee</title><link rel"stylesheet" href"./style.css">&l…

Java中的IO流的缓冲流

不爱生姜不吃醋⭐️ 如果本文有什么错误的话欢迎在评论区中指正 与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 &#x1f334;IO流体系结构&#x1f334;缓冲流1.提高效率的原理2.缓冲流的类型3.字符缓冲流两个特有方法 &#x1f334;总结 &#x1f334;IO流体系…

民企再续“助学故事”,恒昌公益两所“云杉校园”如何聚木成林?

撰稿|多客 来源|贝多财经 “生物世界丰富多彩、五花八门、琳琅满目&#xff0c;可谓大千世界芸芸众生”……这是遵义市正安县安场镇光明完全小学图书馆收藏的一本名为《闯入生物世界》书中所写景象。 在这所学校&#xff0c;课外书籍按照年级及类别进行划分&#xff0c;如一…

微信小程序案例2-3:婚礼邀请函

文章目录 一、运行效果二、知识储备&#xff08;一&#xff09;导航栏设置1、导航栏的相关配置项2、利用导航栏组件2、在页面配置文件中对导航栏进行配置3、在全局配置文件中对导航栏进行配置 三、实现步骤 一、运行效果 “婚礼邀请函”微信小程序由4个页面组成&#xff0c;分别…

ABB DDC779BE02 3BHE006805R0002 控制主板模块

ABB DDC779BE02 3BHE006805R0002 控制主板模块用于自动化和控制系统中&#xff0c;它们可能具有以下一些常见特点和功能&#xff1a; 处理能力&#xff1a;ABB DDC779BE02 3BHE006805R0002 控制主板模块通常具有强大的处理能力&#xff0c;可以执行复杂的控制算法和逻辑。 多种…

Fork() 函数:“父” 与 “子” 进程的交互(进程的创建)

阅读导航 前言一、fork函数初识1. 基本概念2. fork函数返回值 二、fork函数的写时拷贝三、总结温馨提示 前言 前面我们讲了C语言的基础知识&#xff0c;也了解了一些数据结构&#xff0c;并且讲了有关C的一些知识&#xff0c;也学习了一些Linux的基本操作&#xff0c;也了解并…

山石网科国产化防火墙,打造全方位边界安全解决方案

互联网的快速发展促进了各行各业的信息化建设&#xff0c;但也随之带来了诸多网络安全风险。大部分组织机构采用统一互联网接入方案&#xff0c;互联网出口承担着内部用户访问互联网的统一出口和对外信息服务的入口&#xff0c;因此在该区域部署相匹配的安全防护手段必不可少。…

Serverless 数仓技术与挑战(内含 PPT 下载)

近期&#xff0c;Databend Labs 联合创始人张雁飞发表了题为「Serverless 数仓技术与挑战」的主题分享。以下为本次分享的精彩内容&#xff1a; 主题&#xff1a; 「Serverless 数仓技术与挑战」 演讲嘉宾&#xff1a; 张雁飞 嘉宾介绍&#xff1a; Databend Labs 联合创始人…

vue重修002

文章目录 版权声明一 指令修饰符1. 什么是指令修饰符&#xff1f;2. 按键修饰符3. v-model修饰符4. 事件修饰符 二 v-bind对样式控制的增强-操作class1. 语法&#xff1a;2. 对象语法3. 数组语法4. 代码练习 三 京东秒杀-tab栏切换导航高亮四 v-bind对有样式控制的增强-操作sty…

代码随想录刷题 Day18

513.找树左下角的值 这个题用层序遍历比较简单&#xff0c;按照模版改一句话就可以&#xff1b;层序遍历用这个queue来实现&#xff1b; 用前序遍历的话就需要用递归比较麻烦 class Solution { public:int findBottomLeftValue(TreeNode* root) {queue<TreeNode*> que…

Oracle-ADG无法应用日志问题(Bug-17695685)

问题: Oracle11.2.0.4.5的版本&#xff0c;ADG备库mrp进程出现无法应用日志的问题 问题原因分析: 查看当前mrp进程的状态&#xff0c;当前在应用日志thread# 1 626298 select inst_id,process,thread#,sequence#,status from gv$managed_standby;备库查看日志的状态&#xf…

国密国际SSL双证书解决方案,满足企事业单位国产国密SSL证书要求

近年来&#xff0c;为了摆脱对国外技术和产品的依赖&#xff0c;建设安全的网络环境&#xff0c;以及加强我国对网络信息的安全可控能力&#xff0c;我国推出了国密算法。同时&#xff0c;为保护网络通信信息安全&#xff0c;更高级别的安全加密数字证书—国密SSL证书应运而生。…

正则表达式新解

文章目录 是什么&#xff1f;正则用法匹配单个字符匹配一组字符其他元字符核心函数 贪婪匹配和非贪婪匹配正则练习 是什么&#xff1f; 正则表达式(Regular Expression)是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊…

案例题概述

案例题概述 考点 考点 新教材的新增考点 第一题必做&#xff0c;之后是4选2 感觉都是记忆的&#xff0c;课件完整一些&#xff0c;之后以看课件为主了&#xff0c;不在做详细笔记了

IDEA中如何查看自己的SpringBoot的版本

直接输入代码执行&#xff1a; public class App {public static void main(String[] args) {String springVersion SpringVersion.getVersion();String springBootVersion SpringBootVersion.getVersion();System.out.println("Spring版本:"springVersion"\…