Python自动化测试:API接口自动化——requests、webSocket

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521321.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全志D1s裸机开发之体验第一个程序

体验第一个程序 2.1 编译烧录运行 2.1.1 编译 先进入源码目录,打开 Git Bash,如下图操作: 然后在 Git Bash 中执行 make 命令,可以生成 benos_payload.bin 文件,如下图所示: 2.1.2 烧录运行 使用 2 条 …

Windows上基于名称快速定位文件和文件夹的免费工具Everything

在Windows上搜索文件时,使用windows上内置搜索会很慢,这里推荐使用Everything工具进行搜索。 "Everything"是Windows上一款搜索引擎,它能够基于文件名快速定位文件和文件夹位置。不像Windows内置搜索,"Everything&…

微软Win32K权限提升漏洞修复处理

一、漏洞描述 近日安全扫描发现,本地windows主机涉及【Microsoft Win32K权限提升漏洞】;其中,Microsoft Win32k是微软(Microsoft)公司的一个用于Windows多用户管理的系统文件。Microsoft Win32K存在权限提升漏洞&…

Facebook商城号为什么被封?防封养号技巧

由于Facebook商城的高利润空间,越来越多的跨境电商商家注意到它的存在。Facebook作为全球最大、用户量最大的社媒平台,同时也孕育了一个巨大的商业生态,包括广告投放、商城交易等。依托背后的大流量,Facebook商城起号较快&#xf…

STM32CubeMX学习笔记17--- FSMC

1.1 TFTLCD简介 TFT-LCD(thin film transistor-liquid crystal display)即薄膜晶体管液晶显示器。液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),每个像素都可以通过点脉冲直接控制,因而每个节点都…

1688平台上如何高效一键发布商品?如何接入1688API官方商品

1688平台上发布商品,现在很有优势。很多商品可以直接对接海外! 1688平台发布商品的优势在1688平台发布商品的优势主要包括: 产品种类丰富:1688作为国内最大的B2B电商平台,提供的产品种类繁多,覆盖了各个行…

【数据结构】二、线性表:4.循环链表的定义及其基本操作(循环单链表,循环双链表的初始化、判空、判断头结点、尾结点、插入、删除)

文章目录 4.循环链表4.1循环单链表4.1.1初始化4.1.2判断单链表是否为空4.1.3判断p结点是否为循环单链表的表尾结点 4.2循环双链表4.2.1初始化4.2.2判断循环链表是否为空4.2.3判断结点p是否为循环双链表的表尾结点4.2.4双链表的插入4.2.5双链表的删除 4.循环链表 4.1循环单链表…

数字孪生基础开发平台的流程

搭建数字孪生基础开发平台的流程可以分为以下步骤,具体的实施方法和步骤可能会根据具体项目的要求和特点而有所不同。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.需求分析: 确定数字孪生基础开发平台的目…

基于SSM的环境监测管理系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 主要技术和工具介绍 3 1.1 SSM框架简介 3 1.1.1 Spring 3 1.1.2 Mybatis 数据持久化技术 3 1.1.3 SpringMVC 3 1.2 MySQL数据简介 4 1.3 本章小结 4 2 系统分析 5 2.1 需求分析 5 2.1.1 功能分析 5 2.1.2 用例说明 6 2.2 可行性分析 9 2.…

C++ Qt开发:QFileSystemModel文件管理组件

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemModel组件实现文件管理器…

设计模式(工厂模式)

设计模式(工厂模式) 一、工厂模式介绍 在工厂模式中,父类决定生成示例的方式,但不决定所要生成的具体的类,具体的处理部分交给子类负责。这样就可以将生成示例的框架和生成示例的类解耦。 二、示例程序 以下示例程…

【C++】设计模式:观察者、策略、模板

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍设计模式:观察者、策略、模板。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#xf…