首页 > 其他分享 >自动化测试-友好的第三方库

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

时间:2023-09-22 17:35:54浏览次数:32  
标签:Python 对象 JSON mock 测试 自动化 第三方 友好

自动化测试脚本开发中,总是会遇到各种数据处理,例如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库挺松提取到所需值。

标签:Python,对象,JSON,mock,测试,自动化,第三方,友好
From: https://www.cnblogs.com/tynam/p/17722974.html

相关文章

  • SMB: 使用 Ansible 自动化配置 samba 客户端服务端
    涉及到的文件[student@workstationfilestorage-automation]$tree..├──ansible.cfg├──inventory├──smb_client.yml├──smb_server.yml├──smb_vars.yml└──templates└──smb.conf.j2[student@workstationfilestorage-automation]$涉及到......
  • Docker Swarm + Harbor + Portainer 打造高可用,高伸缩,集群自动化部署,更新。
    DockerSwarm是Docker官方自带的容器编排工具,Swarm,Compose,Machine合称Docker三剑客。DockerSwarm对于中小型应用来说,还是比较方便,灵活,当然K8S对于大型项目在各方面有着明显的优势。技术选型需要针对公司实际情况选择,架构往往是一步一步随着业务变化升级演变而来,本文主要讲解Docke......
  • selenium自动化测试-获取黄金实时价格
    最近黄金比较火爆,想要获取黄金实时价格,方便后续监控预警价格,一般实时刷新的网页数据都是动态加载的,需要用到selenium自动化测试获取动态页面数据。昨天学会了获取动态网页小说内容,同理也可以获取动态网页的黄金实时价格。第一步:先确定目标网址网上随便百度一下黄金实时价格: ......
  • 第三方平台如何级联到国标 GB28181协议 EasyGBS 视频存储平台
    国标视频云服务EasyGBS支持设备/平台通过国标GB28181协议注册接入,并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。其中,级联功能可以实现平台与平台之间的数据互联互通,降低数据共享难度,在很多安防场景中均有应用,如明厨亮灶、平安乡......
  • 自动化测试:fixture学得好,Pytest测试框架用到老
    From: https://mp.weixin.qq.com/s/agoipUlkQj3jaZ6cZc_80Q------------------------------------------------------------------------------------在pytest中,fixture是一种非常有用的特性,它允许我们在测试函数中注入数据或状态,以便进行测试。而参数化则是fixture的一个特性,......
  • selenium自动化测试-获取动态页面小说
    有的网站页面是动态加载的资源,使用bs4库只能获取静态页面内容,无法获取动态页面内容,通过selenium自动化测试工具可以获取动态页面内容。参考之前的"bs4库爬取小说工具"文章代码,稍微修改下,就可以转成获取动态页面小说工具。第一步:先确定目标网址先找到小说目录页面。网址首页:'ht......
  • 专业第三方软件检测机构验收测试怎么做?
    验收测试的目的一、专业第三方软件检测机构验收测试怎么做?受业主委托,以第三方立场,在信息系统集成调试后、交付运行前,通过人工或工具测试手段,从系统功能和非功能需求设计方面,对程序的实际与预期输出进行比较验证,发现差别和错误,客观评估和衡量软件的质量是否满足预期要求。二、......
  • selenium自动化测试-登录网站用户
    昨天学习了selenium自动化测试工具的入门,知道了Selenium是用于自动化控制浏览器做各种操作,打开网页,点击按钮,输入表单等等。今天学习通过selenium自动化测试工具自动登录某网站用户操作。第一步:确定目标网址比如:天天基金网站登录页面"https://login.1234567.com.cn/login"第二......
  • 自动化测试系列:接口自动化测试框架--05通过邮件发送测试结果的封装
    From: https://mp.weixin.qq.com/s/3w9GT2TYKIhrKCi36-DYRw---------------------------------------------------------------------------------------框架功能介绍1.自动整理接口测试用例:只需使用抓包工具,将需要接口请求另存为HAR文件,执行har2excel.bat即可自动生成接口请......
  • 【原创】Nat的一次实际需求(第三方访问我方,双转换)
                                                         Nat的一次疑惑实际需求:第三方访问我方某台测试服务器(含端口),通过专线的形式进行数据传输。逻辑拓扑如下:......