一,介绍
Requests库是一个基于python语言开发的一个开源的库,能够完全满足基于HTTP协议的接口测试。
二,安装与验证
Requests库的安装:在cmd窗口输入:pip install requests 即可进行联网下载,如下图所示
验证安装结果:pip show requests,显示结果如下,即为安装成功
三,相关操作
3.1 发送GET请求
解决响应数据乱码问题 获取当前编码格式: 响应.encoding 设置新的编码规范: 响应.encoding="utf-8"
3.2 发送Post请求
3.2.1 提交from表单作为参数
3.2.2 提交json数据
注意:
data: 参数接收form表单数据,后台会⾃动附加form表单请求信息头(data数据格式为字典) json:参数接收json数据,后台会⾃动附加json表单请求信息头 (headers = {"Content-Type":"application/json"})3.3 其他请求方式
put:修改资源 delete:删除资源 head:响应数据中只包含请求头,前提是项目中已实现该功能 options:查看接口支持的请求方法,前提是项目中已实现该功能3.4 传递URL参数
3.4.1 直接通过url进行参数传递
3.4.2 通过params进行参数传递
可以传递两种类型的参数,一种是字符串形式的参数,一种是字典形式的参数
3.5 响应内容解析
主要用于断言中 常用的方法: response.status_code :响应状态码 response.url :url地址信息 response.encoding :查看响应数据编码格式 response.headers :查看头部信息 response.cookies : 查看cookies信息 response.text :文本形式查看响应数据 response.content :字节码形式查看响应数据 response.json() :json形式查看响应数据3.6 设置请求头
使用方法:headers={"Content-Type":"application/json"}
3.7 设置session
作用:在多个请求之间存储数据并自动添加数据,如cookies 使用: 实例化: session = requests.Session() 发送请求:request.get() ==> session.get() 案例:
四、集成UnitTest
UnitTest优势
管理测试用例 提供了丰富的断言 生成测试报告集成步骤:(使用TPShop项目完成对登录功能的接口测试)
实现思路:
1, 导包 2, 创建测试类# 创建测试方法 2.1 setup前置处理 实例化session对象 定义验证接口url地址 定义正如接口url地址 2.2 teardown 后置处理 关闭session对象 3,登录成功测试方法 发送验证码请求并断言 发登录请求并断言 4,账号不存在测试方法 发送验证码请求并断言 发登录请求并断言 5,密码错误测试方法 发送验证码请求并断言 发登录请求并断言优化:
在进行代码编写时,会发现很多重复的代码,这样很影响测试的效率,所以我们可以使用参数化来进行优化
参数化实现:
unittest本身是不支持参数化的,所以我们需要引入第三方插件parameterized来帮助我们实现参数化
把要测试的数据封装在一个json文件中(login.json)
在测试类中构造测试数据,即把json文件中的数据读取出来并存放在一个列表中方便我们使用
接着在登录测试方法上添加parameterized装饰器,传入已经构造好的测试数据
最后修改我们测试方法中的参数,把以前直接传入的参数用变量名进行替换即可
注意:参数的顺序要和读取的json文件中的顺序一致
标签:总结,请求,UnitTest,响应,json,参数,Requests,response,测试方法 From: https://www.cnblogs.com/zj8970/p/16886040.html