• Python自动化测试:API接口自动化——requests、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模块
    
    • 1
    • 2

    备注: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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    结果:
    在这里插入图片描述

    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
    在这里插入图片描述
    结果:
    在这里插入图片描述
    备注:建立连接后,通过发送不同的数据,得到不同的响应数据
    在这里插入图片描述

  • 相关阅读:
    JVM内存布局及GC原理
    Python函数的参数顺序
    spring使用模板模式
    Matlab图像处理-模式识别方法
    SpringBoot整合七牛云实现图片的上传管理
    【概念】详细介绍:什么是BP神经网络?(Sigmoid 激活函数,再次介绍) || 感受野 || 前向传播 和 反向传播
    java游戏制作-拼图游戏
    ChatGPT扇动翅膀后带来的蝴蝶效应
    【自然语言处理概述】“海量”文件遍历
    cx3588 文档说明
  • 原文地址:https://blog.csdn.net/weixin_47921628/article/details/136416204