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

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

时间:2023-10-27 12:34:44浏览次数:34  
标签:Python 接口 对象 JSON 测试 自动化 第三方 友好

自动化测试脚本开发中,总是会遇到各种数据处理,例如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.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,测试,自动化,第三方,友好
From: https://blog.51cto.com/u_13488416/8052690

相关文章

  • 【速看】如何通过合理的封装,让你的自动化脚本更上一层楼!
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途1.前言 上一篇推文利用一个在图片范围内实现随机坐标点击的例子,去教会大家如何将自己想要的效果实现出来,受到大家的热情反响,在我们官方讨论群中,还有大佬对我......
  • 应用案例|基于三维机器视觉的曲轴自动化上下料应用方案
    Part.1 项目背景此案例服务对象为国内某知名大型汽车零部件制造工厂,该工厂有针对曲轴工件的自动化上下料需求。由于之前来料码放不规范,工件无序散乱摆放,上料节拍要求高,该工厂上下料效率极低。Part.2 传统曲轴上下料存在的缺陷传统此工位的曲轴工件上下料由人工完成,这种上下料方式......
  • Python自动化测试selenium指定截图文件名方法
    这篇文章主要介绍了Python自动化测试selenium指定截图文件名方法,Selenium支持Web浏览器的自动化,它提供一套测试函数,用于支持Web自动化测试,下文基于python实现指定截图文件名方法,需要的小伙伴可以参考一下前言:Selenium支持Web浏览器的自动化,它提供一套测试函数,用于支持W......
  • UI自动化测试工具推荐
    UI自动化测试已经成为现代软件开发过程中不可或缺的一部分。它能够提供诸多优势,包括提高测试效率、减少人力成本、提升软件质量等。同时,可视化工具为UI自动化测试带来了更多便利和灵活性。然而,可视化工具也存在一些潜在的劣势。本文将探讨UI自动化测试的必要性以及可视化工具的优势......
  • UI自动化测试工具推荐
    UI自动化测试已经成为现代软件开发过程中不可或缺的一部分。它能够提供诸多优势,包括提高测试效率、减少人力成本、提升软件质量等。同时,可视化工具为UI自动化测试带来了更多便利和灵活性。然而,可视化工具也存在一些潜在的劣势。本文将探讨UI自动化测试的必要性以及可视化工具的优......
  • Pycharm安装第三方库时报错 no such option: --build-dir
    参考资料Link:https://blog.csdn.net/weixin_56321113/article/details/122737501 一、遇到的问题pycharm2020.1python3.9pip22.1无论安装任何第三方包都会报错 nosuchoption:--build-dir 二、问题原因pycharm依赖于--build-dir安装第三方库,但pipinstall中......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-23-处理select下拉框-下篇
    1.简介上一篇中宏哥主要讲解和分享了一下,我们常见或者传统的select下拉框的操作,但是近几年又出现了了一种新的select下拉框,其和我们传统的select下拉框完全不一样,那么我们如何使用playwright对其进行定位操作了。宏哥今天就来讲解和分享一下仅供大家参考,不喜勿喷。2.新的select......
  • TestNG+Webdriver 页面自动化详解
    最近学习了一下TestNG+Webdriver的页面自动化,虽然中间遇到了很多问题,也走了不少弯路,不过最终还是运行起来了。下面就详细讲解一下,如何去配置环境及编写测试用例!环境配置1,eclipse+jkd的安装这是基本的开发环境,具体的配置在此就不累述了,网上有很多相关文档,请自行查阅。2,TestNG......
  • RunnerGo UI自动化使用流程
    可以直接进入官网下载开源版或点击右上角体验企业版体验RunnerGoUI自动化平台RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。RunnerGoUI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂......
  • Spring Boot整合OAuth2实现GitHub第三方登录
    GithubOAuth第三方登录示例1、第三方登录原理第三方登录的原理是借助OAuth授权来实现,首先用户先向客户端提供第三方网站的数据证明自己的身份获取授权码,然后客户端拿着授权码与授权服务器建立连接获得一个AccessToken,之后客户端就可以通过AccessToken来与资源服务器进行交互......