我们在做接口测试的时候,接口的本质是发送请求给服务器,服务器获取到请求,再将结果返回回来,我们对返回的结果进行断言,符合预期结果,用例通过,不符合预期结果,用例失败。
现在使用Python来做接口自动化,
- 需要模拟发送请求
- 需要对用例进行管理。
我们会使用到第三方的包来做上面的事情
- requests 库 主要用来发送请求,以及获取服务器返回结果。
- pytest 库 用来管理接口测试用例。
配置环境
安装依赖包
需要对requests, pytest 进行安装。
安装方式有两种。
方式一:使用pycharm进行安装
在项目中打开 【File】—【Settings】
‘
在项目设置面板中 找到 python解释器的配置面板
点击【+】 弹出对话框,在对话框中搜索要安装的包。
安装成功之后,可以看到对应的提示。
用此方法安装 pytest
安装完成之后,关闭对话框
看到项目中有 就可以了。
方式二:命令行pip命令安装
打开项目中的命令行【终端】工具。
执行命令
pip install pytest
pip install requests
解决安装速度慢,或者是安装失败问题
默认安装是从国外的服务器上下载进行安装的。所以如果网络比较差,下载会失败, 或者压根就不能下载。
解决办法:使用国内下载镜像。
这里使用清华大学软件镜像站。
打开命令行工具,执行如下
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
更改成功之后,重新打开pycharm 进行下载即可。
pycharm 终端报错
如果打开终端 提示
解决办法:
- 用管理员身份运行 powershell
在powershell 中执行
Set-ExecutionPolicy RemoteSigned
执行成功之后选择 A
运行即可,重新打开 pycharm 即可。
第一个请求
编写注册请求。
# 导入 requests 模块
import requests
# 接口的文档地址:http://49.233.108.117:28019/swagger-ui.html#/
def test_regiseter():
# 定义注册用户的地址
url = "http://49.233.108.117:28019/api/v1/user/register"
# 定义请求数据
bodydata= {
"loginName": "13212312312",
"password": "123456"
}
# 发送请求 url= 表示请求地址, json= 请求数据为json格式
r = requests.post(url=url,json=bodydata)
# r 是整个服务器返回的结果
print("状态码:", r.status_code)
# 服务器返回结果
print("结果:", r.json())
requests 为发送请求的库
- requests.post 发送post请求
- url 请求地址
- json 请求数据格式为 json
- r 服务器的返回结果
可能的问题
配置pycharm 使用pytest运行用例
- 打开【File】—【Settings】
- 找到 Tools
- 在Tools 中找到 集成工具, 测试 选择使用 pytest。
应用并保存,之后再回到代码中,可以看到已经成功识别为测试用例。