接口自动化测试之request模块讲解,以及初步接口自动化测试框架封装(统一请求)

接口自动化测试之request模块讲解,以及初步接口自动化测试框架封装(统一请求)_第1张图片

一、有接口测试工具的情况下,为什么要做接口自动化?

1.敏捷开发,接口一般数量很大,团队实现接测试,版本控制。
2.功能太死板,有些接口完全无法实现(复杂的加密接口,签名接口等)
3.接口项目当中有多种不同协议的接口。
4.排错,定位接口问题不方便,结合抓包实现。
5.没有办法生成美观的报告。
6.多接口串联,数据库验证,日志监控。
7.有些公司做web自动化+接口自动化。

二、python+requests模块

requests第三方库,主要用于发送http请求,做接口自动化。

pip install requests

三、requests全局观请求

1.requests.get()       发送get请求
2.requests.post()     发送post请求
3.requests.delete()  发送delete请求
4.requests.put()       发送put请求
5.requests.request() 最核心的方法

响应:response对象

rep=requests.request()
#返回字符串的数据
print(rep.text)
# 返回字节格式的数据
print(rep.content)
# 返回字典格式的数据
print(rep.json())
# 返回状态信息
print(rep.reason)
#返回cookie信息
print((rep.cookies))

四、接口实战

pytest默认规则

1.py文件必须以test_开头或者_test结尾。
2.类名必须以Test开头
3.测试用例必须以test_开头

注意︰

1、get请求通过params传递参数。

2、post请求通过json或者data传参。

json或者data传参,他们的区别是什么?

data
①数据报文:dict字典类型,那么默认情况下,请求头: applilcation/x-www-form-urlencoded,表示以form表单的方式传参,格式: a=1&b=2&c=3
②数据报文∶str类型,那么默认情况下,请求头:text/plain(如果是字典格式需要转换成dict格式传参)
json

你可能感兴趣的:(测试,json,自动化,python)