接口自动化测试 | Donghao〃Blog🥝
1. requests常用请求方式
请求方法 |
备注 |
requests.get() |
发送get请求 |
requests.post() |
发送post请求 |
requests.delete() |
发送delete请求 |
requests.put() |
发送put请求 |
requests.request() |
最核心的方法 |
- get请求通过params传递参数
- post请求通过json或者data传参,他们的区别是什么?
data:
数据报文: 如果是字典类型,那么默认情况下请求头:application/x-www-form-urlencoded 表示以form表单的方式传参,格式: a=1&b=2&c=3
数据报文: 如果是str类型,那么默认情况下:text/plain(如果是字典格式需要转换成str格式传参)
json:
数据报文: 不管是dict还是str类型,默认都是application/json,格式:{“a”:1,“b”:2}
- 总结:
data只能传简单的只有键值对的dict或者是str格式。
json一般只能够传字典格式,不管是简单还是复杂嵌套的都可以。
文件上传通过files传参
cookie鉴权:网页接口基本上都要做cookie鉴权。这种不常用,一般通过session实现cookie鉴权,这种常用。
2. response常用数据返回方法
请求方法 |
备注 |
rep = requests.request() |
|
print(rep.txt) |
返回字符串的数据 |
print(rep.content) |
返回字节格式的数据 |
print(rep.json()) |
返回字典格式的数据 |
print(rep.status_code) |
返回状态码 |
print(rep.reason) |
返回状态信息 |
print(rep.cookies) |
返回cookie信息 |
print(rep.encoding) |
返回编码格式 |
print(rep.headers) |
返回响应头信息 |
3. 常用断言方式
- 状态码(Status Code):接口响应的状态码是一种常见的断言方式。例如,HTTP协议中的状态码,如200表示成功,404表示资源未找到,500表示服务器错误等。通过断言状态码,可以验证接口是否按预期执行。判断请求返回的状态码为200,200就是请求状态正常。
- 响应时间(Response Time):接口的响应时间也可以作为一种断言的方式。通过设置预期的响应时间范围,可以验证接口是否在合理的时间内返回结果。这对于对性能要求较高的接口测试尤为重要。判断请求返回的时间小于200ms,一般认证正常的请求应该在200ms之下。
- 响应内容匹配(Response Content Matching):可以使用正则表达式或字符串匹配来验证接口返回的内容是否符合预期。这种方式适用于需要对返回的数据进行更灵活的匹配和验证的情况。
- 数据库验证(Database Validation):在接口测试中,有时需要验证接口对数据库的影响。可以通过查询数据库,比较接口执行前后的数据变化,以确保接口的操作正确地更新了数据库中的数据。
- 接口依赖验证(Interface Dependency Validation):在某些情况下,接口之间存在依赖关系,其中一个接口的结果可能会影响另一个接口的执行。可以通过调用多个接口并验证它们之间的关联来进行断言。例如,一个接口的返回值作为另一个接口的请求参数等。