【接口自动化测试】
目录
1、接口自动化流程
2、requests模块
2.1、常见的请求方法
2.2、添加请求信息
1、接口自动化流程
接口自动化流程是面试考点
需求分析、挑选自动化接口、测试用例设计、搭建测试环境、设计测试框架、编写代码、执行测试、生成测试报告
1)需求分析
分析请求:明确接口的URL、请求方法、请求头、请求参数和请求体
分析响应:确定接口返回的数据格式,状态码、可能的错误信息
2)挑选自动化接口
3)设计自动化测试用例
根据接口的需求和功能,设计正向测试用例(正常场景)和反向测试用例(异常场景),包括边界值测试、参数组合测试等
4)搭建自动化测试环境
选择变成语言、开发环境(pycharm)来实现。如果选择python的话,安装必要的依赖库
5)设计自动化框架
设计一个框架来执行测试用例,包括报告生成、参数化处理和用例执行逻辑
6)编写代码
根据设计好的测试用例和框架来编写自动化测试脚本
7)执行用例
使用测试框架(如unittest、pytest)来执行编写的测试用例
8)生成测试报告
2、requests模块
安装:pip install requests==2.31.0
requests库是一个非常流行的HTTP客户端库,用于发送HTTP请求,requests.get就是发送一个get请求到指定的URL。request.get返回一个Response对象,这个对象包含了服务器返回的所有信息
r = requests.get("URL")
Response(返回值r)对象提供的属性/方法介绍:
2.1、常见的请求方法
r=requests.GET()/r=requests.request(method="GET")
eg:
import requests
get_r = requests.get("https://www.baidu.com")
post_r = requests.post("https://www.baidu.com")
req_r1 = requests.request(method="get", url="https://www.baidu.com")
req_r2 = requests.request(method="post", url="https://www.baidu.com")
print("get:", get_r.status_code)
print("post:", post_r.status_code)
print("method_get:", req_r1.status_code)
print("method_post:", req_r2.status_code)
运行结果:
2.2、添加请求信息
请求参数(data(POST)、json、params)(比如登录要传参账号、密码就要用data={})
请求头(header、cookies)
请求参数
请求头
例一:
下图是登录页面返回的json格式的数据:
下图是博客详情页请求头的数据:
也就是说:在博客系统里,登录接口返回了用户的登录凭证,后续请求其他的接口需要在请求头中添加上User_token_header
这个是博客详情页的,因为必须要先登录才能看,所有必须要加请求头:
例二:
一般我们用GET的时候,请求参数就用params。POST请求,是一个表单格式的话就用data
我们可以写r = requests.post(url=url、参数)
还可以写:r = requests.request(method="POST",url=url,参数)
例三:添加cookie信息
问题:上传数据是选择data、json还是params呢?(登录的时候用post)