学习python的pytest框架需要的基础知识和学习准备
一、测试从业者python知识学习体系整理
测试从业者学习python应该掌握的内容
首先是变量和数据类型,其次列表、字典以及Json的一些处理,再者就是循环判断以及函数或类这些内
其中的重点:
1.循环判断以及字典这块是重点
2.函数和类,类的学习这块要花较多时间去学习它的集成、封装、多态等,这是一个不断积累的过程,先把前面的东西弄清楚了,然后去学如何用函数的方式去处理这些比较基础的内容
python大纲学习内容详见另一篇文章
二、python接口自动化
API测试不同于UI自动化测试,它主要关注系统架构的业务逻辑层,或者说多个或者两模块的逻辑关系,重点在逻辑关系。
做接口测试前的准备工作
1、接口文档
2、http协议的知识
3、对业务的熟悉程度
python做接口自动化需要准备的内容
1.python3+第三方库requests+pytest框架,需要的环境都要准备好
选择pytest这个框架的原因
1).非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
2).能够支持简单的单元测试和复杂的功能测试
3).支持参数化
4).执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败
5).支持重复执行失败的case
6).支持运行由nose, unittest编写的测试case
7).具有很多第三方插件,并且可以自定义扩展
8).方便的和持续集成工具集成
2.接口文档的准备
1).接口文档至少包含四个部分1、请求的接口2、请求的方式3、请求的参数4、请求的返回结果
2).无接口文档使用抓包工具获取信息
3).接口测试包括接口自动化和手工接口测试
3.开展接口自动化
前提:明确开展的目的,是要做单接口的监控还是交易流程的监控,或者是在测试环境把所有接口都覆盖,又或者接口自动化测试是为了线上服务还是为了线下测试环境服务
例如:现在要做的是上单接口的监控,监控的目的只为了保障接口的可用性,证明这个接口是可用的就可以了。所以基于不同的目的设计接口测试是有不同的测试点的,比如单接口的监控,只需要设计正向的用例就可以了,证明接口是通的就可以了。因为线上做太多的测试容易产生特别多的脏数据。如果在测试环境要做每个接口的全覆盖,那么每个接口的正向用例,异常用例都是要覆盖到的,如果用例特别多要根据功能的侧重点来确定一些接口用例的范围选择一个最优的集合做为接口用例的集合
注意点:每个用例尽可能独立执行,如果需要一些缓存数据要么写死要么长期有效的,避免一个接口的用例需要依赖其他接口,这样做的原因是如果被依赖的接口失败了可以避免依赖的接口执行是失败的
最后:环境、接口文档、用例的设计的集合以及接口的目的都确定后可以开始写了
4.实际接口自动化代码编写说明
首先根据接口文档找到请求的url及接口地址加上host
第二部分请求的参数
第三部分如果有头文件就把头文件放进来,如果没有头文件可以忽略
第四发出请求
第五对相应结果进行判断
相应结果判断关注的六部分:
1).返回的状态码检查
2).接口返回的关键参数的检查
3).接口完整性就是它的层级关系是否正确
4).参数的完整性
5).特殊参数的检查
6).功能性的检查
总结
首先环境的准备,其次做接口自动化的目的,基于目的设计测试用例,设计完测试用例确定返回结果验证的程度,这些都确定好后按照pytest模版写用例就可以了。
3.Jenkins持续集成
首先准备好Jenkins持续集成的服务器,然后去创建一个任务,创建完任务去配置必要的信息例如git源,然后执行的命令构建后的一些操作,例如发邮件等等
创建任务的时候如果用git源,用ssh这种方式的话,需要去设sshkey,然后是设置这个任务的执行频率,一般是有几种方式:第一种周期进行项目构建,它不关注你代码源是否是有变化的,它是按照设定的时间定期去执行设定的任务,第二种是icm这种形式,它是定时检查源代码的变更,如果源代码有变更,它就是执行设定的任务,如果源代码没有变更则不执行,还有其它的方式,都要根据实际需求去选择对应的方式。