轻松学Python接口自动化测试:企业级实战篇
文章平均质量分 91
本专栏专为Python爱好者和测试工程师设计。这里,我们用通俗易懂的语言和丰富的实战案例,带你一步步走进接口自动化测试的世界。专栏内容涵盖测试框架搭建、API测试策略、数据驱动测试等,助你快速提升,成为企业级接口测试的能手。加入我们,让测试工作不再复杂,效率翻倍!
职说测试
资深软件测试专家,拥有超过10年行业经验。作为CSDN的知名博主和内容合伙人,我在Python和软件测试领域持续贡献优质内容。我的专业聚焦于性能测试和自动化测试(API/Ui),并荣获新星计划优秀导师的称号。感谢C站粉丝的持续支持,我致力于分享前沿技术和实战经验,助力您的技术成长。
展开
-
Python+Requests接口自动化测试框架设计:测试数据管理
测试数据管理是接口自动化测试框架设计中的一个重要组成部分。通过合理规划和实现测试数据管理模块,可以大大提高测试的效率和质量。在实际应用中,应根据项目的具体需求和团队的实际情况,选择合适的存储介质和管理策略。原创 2024-05-02 23:12:36 · 548 阅读 · 2 评论 -
『接口测试利器』:Python Requests库在自动化测试中的实战应用
requests是一个Python第三方库,用于发送各种HTTP请求。简单易用:使用起来非常直观,即使是新手也能快速上手。功能全面:支持GET、POST、PUT、DELETE等多种HTTP请求方法。灵活强大:可以方便地添加请求头、表单数据、JSON数据等。Python的requests库以其简洁和强大,在接口自动化测试中占据了重要地位。通过合理利用requests库,测试工程师可以高效地构建测试用例,提升测试覆盖率和测试质量。通过这篇文章,我们不仅学习了如何使用requests。原创 2021-12-29 16:19:27 · 8690 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试工具HTTPRUNNER
又又又到了讲httprunner框架的时候,作为测试界的后起之秀,从其开源默默无闻到家喻户晓,从线上教育机构拿来做噱头到作者在工作中实战应用,就单单它不同的版本支持不同的测试框架,它就值得再一次被解说。尽管这个系列作者已经写过10来篇,其中用法介绍相差不大,但是在整个接口自动化测试框架中没有篇幅,或者叫推荐,那么它又是测试界的新宠儿,不仅是在接口测试方面;还能做接口性能测试,它在测试界应该占有一席之地。附上github地址,这是开源的免费项目,已经发展到v3.x版本了,unittest进阶pytest框架。原创 2024-07-08 08:45:00 · 446 阅读 · 13 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试基础知识扫盲(一)
从事软件测试工作,怎能不知、不会接口测试为何物,不管前端是啥(app\h5\web\小程序)凡是你肉眼所见的都是通过后台服务接口提供的数据所渲染的,那么于服务而言,它又是衔接服务(不管是系统还是模块)更好的完成业务流(通讯)及提供完整的业务数据(数据交换)。总而言之,谁也离不开接口。咱们所知的接口,通常是指前端通过调用后台url,获取响应数据,渲染页面呈现出来的过程。那么这个过程里,调用后台url就可以看做是接口(API),连接前后端的通道;它是系统能力的提供者,API是接口定义的具体实现。原创 2020-01-02 10:48:48 · 870 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试基础知识扫盲(二)
说道接口,必然是有一个传输的过程,不是你给咱一个接口对上,然后就摆在那(这个意思是不使用或请求),一定发生请求,那么请求方如何将数据发送过去、接收方又如何将请求的结果返回给请求方呢?这就不得不讲到接口协议,咱们所熟知的http协议接口,这是属于应用层的协议,那么它的本质会进入下一层tcp/ip传输层和网络层;这里不概述计算机网络体系的通讯协议分层概念。原创 2019-07-10 09:43:12 · 964 阅读 · 1 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试工具JMeter
相比使用postman做接口测试,作为测试人员,熟练使用jmeter做接口测试已经是必备技能,这可以从各大招聘测试岗的JD中得到印证,它不仅仅能做接口测试、还有可以做性能测试、自动化测试都能作为其解决方案之一;其中更多、更精的用法,作者强烈推荐上JMeter官网学习,实际工作中再结合业务实战练习,方能更高效、快速的掌握其中精髓。原创 2021-12-29 16:17:40 · 8461 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试工具SoupUI
作者在写这篇文章的时候,偷偷的在安装了soapUI之后,使用了一会儿,发现已经不再那么熟练了,瞬间有了想放弃写这篇文章的意思,主要是现在招聘测试的JD上看不到SoapUI的身影,不管是restful风格的http协议接口,还是soap协议的webservice接口,能有其他解决这一问题的方案都不会考虑soapUI来做测试,因为这无疑又是一项增加学习成本的事情,所以本篇浅尝辄止…有兴趣的同学可以自己深入了解。原创 2021-12-29 16:18:19 · 6700 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试神器postman
前面两章工具篇基本上是对接口测试的基础知识扫盲,无论是网络协议还是做接口测试,都有必要明白的一些概念,这样才能更好的理解如何通过工具模拟发起网络请求或编码实现等等手段以达到接口测试的目的。postman这篇接口测试神器,不是本专栏的重点介绍对象,咱相信聪明的读者会知道如何使用postman去做接口测试,毕竟它的功能也没深奥到哪里去,但是,却能帮助咱们去更好的理解如何做好接口测试,无论是接口测试用例设计,又或者是基于业务场景的接口测试,它都能满足日常的接口测试需求。原创 2021-12-29 16:16:54 · 692 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试工具HTTPRUNNER
又又又到了讲httprunner框架的时候,作为测试界的后起之秀,从其开源默默无闻到家喻户晓,从线上教育机构拿来做噱头到作者在工作中实战应用,就单单它不同的版本支持不同的测试框架,它就值得再一次被解说。尽管这个系列作者已经写过10来篇,其中用法介绍相差不大,但是在整个接口自动化测试框架中没有篇幅,或者叫推荐,那么它又是测试界的新宠儿,不仅是在接口测试方面;还能做接口性能测试,它在测试界应该占有一席之地。附上github地址,这是开源的免费项目,已经发展到v3.x版本了,unittest进阶pytest框架。原创 2021-12-29 16:18:52 · 6473 阅读 · 0 评论 -
Python接口自动化测试框架(工具篇)-- 接口测试工具RobotFramework
这篇文章是后面临时加的戏码,原本计划是将一个个能做接口测试的工具,全都给梳理一遍,但是题主有疑问,光一篇文章能让同学们都能看懂,或者说题主都能给讲明白吗(就连线上培训机构都要分好几节课才能覆盖一个工具全部功能呢,咱这千字文章能行吗)?很显然,题主都没有信心,而且有好些工具,题主也只是略懂皮毛没有深入研究,然后就抛弃了工具而拥抱代码;但哪怕只讲个大概,也要让同学们知道做接口测试的工具有哪些,并且能直观的感受到底是工具好还是撸代码好。原创 2024-07-15 08:45:00 · 665 阅读 · 14 评论 -
Python接口自动化测试框架(进阶篇)-- 类还能继承类
在Python的面向对象编程中,类的继承是一种非常强大的机制,允许我们创建一个新的类(子类),它继承自一个或多个已存在的类(父类或超类)。这种继承关系使得子类能够重用父类的属性和方法,并且可以添加或覆盖父类的功能。在接口自动化测试框架的设计中,利用类的继承可以大大提高代码的可重用性和可维护性。在Python接口自动化测试框架的设计中,利用类的继承可以构建出层次清晰、易于扩展和维护的代码结构。通过super()函数,子类可以方便地调用父类的方法,同时添加或覆盖自己的功能。原创 2019-12-02 10:13:24 · 555 阅读 · 1 评论 -
Python接口自动化测试框架(进阶篇)-- 类有三大方法
从上篇《类和对象》学习了如何定义类、使用类,还有关于属性和方法的定义和使用,更有方法重写和继承比较重要的知识点进行讲解,而本篇呢,从中抽取部分内容,单独进行精讲和演示。分别用了四个成语来介绍python动态属性的规划,相较而言它比java要简单得多,既然已知动态属性的用法,那么它的用途呢?使用场景会是怎样呢?动态方法可不可以呢?原创 2019-12-02 09:25:15 · 716 阅读 · 1 评论 -
Python接口自动化测试框架(进阶篇)-- 类和对象
终于要进阶了,同学们一路从python的基础语法到数据类型、运算符、流程控制、条件控制、文件和异常处理、最后到函数编程,去实现一个小功能的python脚本应该已经不在话下,不过咱最终的目标是要走向自动化测试或编程的道路,脚本已经不能满足咱的需求,咱们写的每一个方法、每一个步骤,都需要禁得起推敲,就是最大可能的被复用,代码的灵活性和复用性必不可少;编码的道路也是重复造轮子的过程,那么自己的轮子造一次就好了。通过面向对象编程的方式,我们可以使用类和对象来更好地组织和管理Python接口自动化测试框架的代码。原创 2019-12-23 07:12:19 · 1050 阅读 · 5 评论 -
Python接口自动化测试框架(进阶篇)-- 函数的参数形态
函数、类、封装等等这一系列的名词性解释伴随着代码案例也都一一演示完毕,咱相信同学们对面向对象编程也不再陌生。那么同学们还记得在讲函数那一章节介绍的诸多参数类型吗?形参是函数定义时需要传入的参数,实参是调用函数时明确的参数,那么还有动态参数、默认参数这些用法,肯定还有点陌生,而且对于这些参数的位置多少有些迷惑!那么这一章将着重讲解。原创 2020-01-02 10:48:21 · 755 阅读 · 1 评论 -
Python接口自动化测试框架(实战篇)-- 表单操作Excel
在了解DDT数据驱动之后,关于使用外部文件存储测试数据的方案,不管是json还是yaml格式,咱相信同学们多少都受到了启发!就从数据多寡来说,无论是测试数据还是完整测试用例数据,当达到一定数量的时候,它的维护成本都会增加;咱以yaml为例:众所周知它的格式是一行一个key,在面对几十、上百行的key,篇幅会不会很长?要是想修改其中某个key的数据,是不是得小心翼翼?很明显,在维护数据方面会增加一定的难度。还有一种设计方式:一个用例一个yml文件,其实这也会产生大量的测试文件;原创 2021-12-29 16:21:47 · 496 阅读 · 0 评论 -
Python接口自动化测试框架(实战篇)-- 数据驱动DDT
突然讲到这一章节,感觉与前面的内容衔接的不是很好;前面的接口测试、单元测试还没好好组织和测试,怎么就突然来到了数据驱动,同学们都不知道遇到了什么问题?它又是用来解决什么问题的?不应该是由简入繁吗?好嘛,作者知道了,同学们且继续往下看⬇⬇⬇。原创 2021-12-29 16:20:35 · 534 阅读 · 0 评论 -
Python接口自动化测试框架(实战篇)-- 设计动态变量参数
题主在思考如何写本篇文章的时候,已经在想是否需要多费点口舌才能讲清楚:为啥要设计动态变量参数?这好像是病句,变量参数能混为一谈?更正一下:动态变量;参数作何解?发送请求时的参数,这个参数需要是动态变化的,而不是唯一写死的硬编码数据。抓住重点,什么是变量?变量是可以通过变量名访问的,在编译执行程序时,它是可变的。那么问题来了?咱们需要强调一点的是,在接口或UI自动化测试的时候,实际是在干嘛?是在模拟用户请求咱们的服务器,那么对于用户输入的数据是唯一的吗?原创 2022-01-01 01:00:00 · 638 阅读 · 2 评论 -
Python+Requests接口自动化测试框架:测试用例设计
测试用例设计是接口自动化测试中的关键环节。通过遵循设计原则,合理规划测试用例的结构和内容,可以确保测试的质量和效率。在实际应用中,应根据项目的具体需求和团队的实际情况,不断优化测试用例设计。原创 2024-10-01 10:00:00 · 356 阅读 · 12 评论 -
Python接口自动化测试框架(实战篇)-- 正则表达式RE
Re正则表达式模块,是python的内置库,是常用的工具类库,主要用于正则匹配提取关键信息,使用场景多见于爬虫应用;如访问某图片网址,需要提取当前页的所有图片地址链接、又或者是某个作者信息等等;其中来龙去脉,请去官方文档查阅!原创 2021-12-29 16:22:19 · 267 阅读 · 0 评论 -
Python接口自动化测试框架(实战篇)-- 配置文件&YAML
前篇刚刚讲了数据驱动DDT,使用外部文件存储数据,紧接着再将YAML,既是作为读取配置文件铺路又是作为常见的配置文件格式;前面咱也知道了测试用例数据写入yaml,其他一些不想硬编码写入程序代码的数据怎么办?如:数据库信息、接口地址、测试帐号密码等等敏感数据。关于配置文件&yaml就介绍到这儿,更多使用场景可以在实战中去扩展,会有意想不到的收获;顺便留下一个疑问:咱知道config配置文件是支持读写的,那么yaml是否也支持写入呢?是否会覆盖?如何新增配置?请先思考再去看代码!原创 2021-12-29 16:21:17 · 1205 阅读 · 0 评论 -
Python接口自动化测试框架(实战篇)-- 数据库操作MySQL
说起数据库的操作,咱们应该保持一颗敬畏的心,在很多时候,错误不一定是程序引起的,有可能是非法操作了数据库导致的,不到必要一般不建议直接去操作数据库,因为一旦操作错了,结果是不可逆的。那么先说说什么理由,非得要操作数据库?前面不是说了关于手机号的唯一性?接口测试数据库断言?还有批量构造数据?NoNoNo,这不能算作理由,但可以进行风险评估,如果动作较大,建议出具必要的方案:如何动,怎么动,坏了怎么办?预案?如何恢复?等等这些步骤一个也不少的准备清楚,避免给公司正常运营造成经济损失。原创 2024-07-29 08:45:00 · 517 阅读 · 15 评论 -
Python接口自动化测试框架(实战篇)-- 日志纪要Logging
这一节,应该算是整个接口自动化测试框架设计中最简单的一部分了,至于为什么要做日志,这个还得从程序设计开始说起,咱们开发同学在开发程序的时候都知道记日志,一是方便debug调试(本地),二嘛还是为了定位问题(测试或生产),说来说去还是为了方便自己;那这就比较重要了,成功了要写日志、失败了更要写日志,然后在异常的时候也需要写日志,最后通过日志来定位代码bug。原创 2024-07-22 08:45:00 · 522 阅读 · 3 评论 -
Python接口自动化测试框架(实战篇)-- 单元测试框架unittest
自从学完python语法基础后,中间插播了一段关于测试工具的章节介绍,同学们是不是已经快忘了python是如何输出hello world的;整个栏目不做工具实战介绍,如有同学需要,可以单独联系作者进行探讨,当然不局限于工具本身,可以是任何事情,当然前提是作者得会。unittest的基本使用方法和核心概念,想必同学们有所了解,在这里作者衷心呼吁:掌握unittest用法实属必要,哪怕将来会使用更高阶的测试框架;原创 2021-12-29 16:20:05 · 714 阅读 · 1 评论 -
Python接口自动化测试框架(实战篇)-- 进阶pytest测试框架
怎么来说这一章节呢,有点什么感觉(多此一举),其实在咱们设计框架的时候,很难确定某个组件突然会不满足框架的功能使用了,但是应该保障框架的扩展性,除非重构否则应该兼容原来的框架设计,既然选择了使用unittest测试框架,那么说明它已经能满足当下的需求,如果在中途硬要使用pytest框架替换,题主并不建议重构框架,可以使用pytest测试框架并按它的使用规则开发测试用例类即可。为什么这么说呢?因为Pytest是向下兼容unittest框架的;原创 2024-09-02 08:45:00 · 563 阅读 · 7 评论 -
Python接口自动化测试框架(实战篇)-- 美丽的HTML报告
在整个接口自动化测试框架设计中,HTML表示层作为最后的一个环节,地理位置很重要,尽管它不是最重要的,但是总好过让领导或其他同学去猜测吧,可以一目了然的知道测试结果,有效及时的验证和修复问题,那么在对于其不同的展示效果,美丽的测试报告有话要说。HTML展示层是一个锦上添花的事情,做得再美好只是加分项,但是对于结果而言,没有多少人关心,所以整个方案的的最后就是消息推送,至于是钉钉、邮件、企业微信,那就是八仙过海各显神通了。原创 2021-10-02 03:30:00 · 242 阅读 · 0 评论 -
Python接口自动化测试框架(实战篇)-- Jenkins持续集成
温馨提示:在框架需要集成jenkins的时候,一定要注意环境切换问题,如果jenkins和开发环境是同样的系统且都有python环境,基本不用太担心代码的移植问题,如果是跨平台了,那么需要注意了,框架代码中涉及文件路径的问题需要兼容一下,因为可能在执行代码的时候会报提示找不到文件的错误。写好的代码是采用何种工具托管的,如:SVN、Git等,这个没有硬性要求;从代码安全上考虑,一般建议搭建本地svn或gitlab服务器作为代码托管仓库,否则基本都选择码云或其他代码仓库,题主选择github作为代码托管仓库。原创 2024-08-05 08:45:00 · 2281 阅读 · 42 评论 -
Python接口自动化测试框架(方案篇)-- 框架设计和测试分层
小朋友,你是否有很多问号?为什么这篇才写方案?不写在实战前面呢?而是在前面一阵捣鼓之后才点题,整个代码框架甚至都已经封装好了,或者已经有了自动化测试思想的雏形了,现在才来科普教学,会不会有点晚?说实话,只要是干货,什么时候都不晚!这也是题主自己想补充的,其实这部分的内容也在其他篇幅中有拆散了讲,只是没有串联起来、觉得有点不够完整,暂且没在其中总结归纳,故而此时拿出来讲一个整体框架是如何设计的,也可用于指导接口自动化测试方案文档输出及落地实施。原创 2023-03-28 03:15:00 · 1060 阅读 · 0 评论 -
Python接口自动化测试框架(番外篇)-- 模拟测试mock
在测试职业发展中,这属于额外扩展的、作为测试人员必知必会的测试技能之一,不要形成一种自己没有解决方案就依赖于开发解决问题的思想;先要想想自己为什么不能解决,怎样才能解决,如何落地解决方案等等;更要反思自己为什么不能解决?所以不管是mock技术还是其他测试技能,不仅得自己会,你还得教会别人,甚至影响整个团队。原创 2021-10-01 02:00:00 · 248 阅读 · 0 评论 -
Python接口自动化测试框架(番外篇)-- 报告消息通知
接口自动化测试框架的实现,讲到最后就是结果的展示,通过前面章节的内容介绍,咱们知道展示层是以HTML格式的报告形式通知相关同学,但是对于领导或组员而言,它不仅仅是一份html文件,因为不是每个人都有时间去看,并且是认真的看。咱们都知道,报告你再漂亮也比不过看结果来得直接(领导都习惯看结果),所以需要直观的感受到这次测试的结果是success还是failure!至于后面是选择钉钉、邮件还是企业微信等通知手段,都只不过是锦上添花而已。第一:对HTTPRUNNER框架没有深入研究,只是快速响应;原创 2021-12-29 16:23:37 · 369 阅读 · 0 评论 -
Python接口自动化测试框架(番外篇)-- 代码质量管理sonar
关于质量代码管理,是题主为测试岗位附加的一项‘技能’,除了要会搭建环境以外,最重要的是有阅读代码的基本能力,这也是鉴于在开发过程中缺省了Code View而要去做的一件事情,因为在咱们使用IDE开发工具的时候,它只会检查出简单的语法问题,但是对于它是否最优却无法知道答案;还有一层是关于测试流程,往大了说就是项目质量,测试左移等概念,在开发活动中除了单元测试,还有就是静态代码走查,大概率说的就是这么一件事儿,它不用运行程序只按规则扫描代码是否存在规范性问题(明显错误或可能会影响性能);原创 2021-12-29 16:24:53 · 947 阅读 · 0 评论 -
附赠:Python自动化测试工程师岗面试题
python全栈面试题大纲1、解释一下python的特性之一多态,以及super()?请举例说明。2、python的进程、线程有什么区别?协程与线程呢?3、python自动化分层:接口自动化框架你是如何设计的?4、pytest框架与unittest框架比较?5、pytest的特性,优点?使用了哪些功能?6、python类中的实例方法、类方法、静态方法区别?7、在python做接口自动化测试中,怎么解决参数关联?8、jmeter、loadrunner、locusts性能测试工具的区别?9、UI自动化中如何做到原创 2020-09-09 09:25:31 · 2902 阅读 · 0 评论