接口自动化测试1
- 一、requests
- 二、简单示例
- 1.导入/引入库
- 2.请求与响应示例
- 1>简单访问百度主页-GET请求
- 2>简单的登录请求-POST请求
- 3>保存cookies至头信息headers
- 4>其他接口请求时携带headers
- 三、webSocket
- webSocket连接与数据收发示例
本文介绍了借助Python的request模块是进行基本接口请求与测试的简单示例
一、requests
Python request是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果(response响应对象)。使用前需导入该模块,基本的请求方式如下:
- GET: 请求指定的页面信息,并返回实体主体。
- POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
- PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
- DELETE: 请求服务器删除指定的页面。
备注:get 和 post比较常见 GET请求将提交的数据放置在HTTP请求协议头中;POST提交的数据则放在实体数据中;
- response:响应对象
基本响应参数. | 含义 |
---|---|
close() | 关闭与服务器的连接 |
cookies | 返回一个 CookieJar 对象,包含了从服务器发回的 cookie |
content | 返回响应内容,以字节为单位 |
headers | 返回响应头,字典格式 |
json() | 返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误) |
links | 返回响应的解析头链接 |
next | 返回重定向链中下一个请求的 PreparedRequest 对象 |
reason | 响应状态的描述,比如 “Not Found” 或 “OK” |
request | 返回请求此响应的请求对象 |
status_code | 返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found) |
text | 返回响应的内容,unicode 类型数据 |
url | 返回响应的 URL |
二、简单示例
1.导入/引入库
import requests #导入requests模块
import json #导入json模块
备注:requests库为第三方资源库,则需要另外下载。
- 连网情况下:进入Python安装路径下(如D:\CStools\python3.10.5\Scripts)文件夹中,路径输入cmd回车,进入命令窗口:输入pip install requests,下载完成,可以输入pip list,查看列表中是否成功安装了requests包;
若没有下载pip(Python 包管理工具),则可以参考作者之前的文章下载安装常用的资源包;
2.请求与响应示例
1>简单访问百度主页-GET请求
# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://www.baidu.com/')
# 返回 http 的状态码
print(x.status_code)
# 响应状态的描述
print(x.reason)
结果:
2>简单的登录请求-POST请求
备注:登录成功之后,提取身份识别数据sid,由接口响应的数据中提取,可提前抓包/打印response.content查看接口返回的数据与格式,便于利用response对象.提取。
结果:
3>保存cookies至头信息headers
4>其他接口请求时携带headers
三、webSocket
WebSocket协议是对http的改进,可以实现client 与 server之间的双向通信用于页面的实时更新; WebSocket连接一旦建立就始终保持,直到client或server 中断连接,弥补了http无法保持长连接的不足,方便了客户端应用与服务器之间实时通信。
- 基于TCP,一次握手就能建立连接,支持双向通信,可保持长连接;
- 使用前需要安装WebSocket包,pip install websocket、pip install websocket-client
webSocket连接与数据收发示例
import json
import requests
from websocket._core import create_connection
结果:
备注:建立连接后,通过发送不同的数据,得到不同的响应数据