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.mzph.cn/news/720146.shtml

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

相关文章

leetcode-重复的子字符串

459. 重复的子字符串 题解: 首先,我们需要找到字符串s的所有子串。然后,我们需要检查这些子串是否可以通过重复多次构成原字符串s。如果找到了这样的子串,返回True,否则返回False。 class Solution:def repeatedSub…

什么是同源策略?如何检测跨站点 WebSocket 劫持漏洞?post 表单跳转跨域问题、Ajax跨域请求、浏览器特性和安全策略、WebSocket 协议连接

什么是同源策略?如何检测跨站点 WebSocket 劫持漏洞?post 表单跳转跨域问题、Ajax跨域请求、浏览器特性和安全策略、WebSocket 协议连接。 同源策略(Same Origin Policy)是一种浏览器安全机制,用于保护用户的信息和数据安全。它限制了来自不同源(协议、域名、端口)的网页…

华为手环 8:返校季新宠,助力高效学习与健康生活

随着春节假期的结束,学生们也纷纷踏上了返校的旅途。新的学期,新的气象,让华为手环8为你的带来全新的智能生活体验。它不仅仅是一款风格多变的时尚手环,还拥有了智能消息提醒、100多种运动模式和睡眠监测等强大功能,让…

计算机设计大赛 深度学习疲劳驾驶检测 opencv python

文章目录 0 前言1 课题背景2 实现目标3 当前市面上疲劳驾驶检测的方法4 相关数据集5 基于头部姿态的驾驶疲劳检测5.1 如何确定疲劳状态5.2 算法步骤5.3 打瞌睡判断 6 基于CNN与SVM的疲劳检测方法6.1 网络结构6.2 疲劳图像分类训练6.3 训练结果 7 最后 0 前言 🔥 优…

基于springboot实现粮食仓库管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现粮食仓库管理系统演示 摘要 粮食作为人类生活的重要物质来源,在粮食流通过程中对于粮食仓库的管理不容忽视,随着我国粮食生产能力的提升以粮食存储管理的不断革新,粮食产量的增加为粮食仓储管理带来了挑战也带来了机遇&am…

蜂窝物联:物联网大数据云平台功能模块简介

蜂窝云平台可远程获取现场环境(如温室大棚、稻田)的空气温湿度、土壤水分温度、二氧化碳浓度、光照强度及视频图像,通过数据模型分析,可以自动控制湿帘、风机、喷淋滴灌、内外遮阳、顶窗侧窗、加温补光、增氧机等设备;…

Java零基础-包机制

哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…

实践课项目化

程序设计实践 项目内容: 这是一门物联网工程专业的必修课程,基于大学计算机基础和C编程课程,要求使用C语言设计和实现一个小型信息管理系统。课程提供两个小项目供学生选择,学生分组完成其中一个项目,每组5人。 成果…

MySQL面试题-锁(答案版)

锁 1、MySQL 有哪些锁? (1)全局锁 加了全局锁之后,整个数据库就处于只读状态了,这时其他线程执行以下操作,都会被阻塞: 对数据的增删改操作,比如 insert、delete、update等语句&…

C# 异步操作汇总

在C#中,异步操作(Asynchronous Operations)可以提高程序的性能和响应能力。通常情况下,程序会等待某个操作完成之后才会继续执行下一个操作,这会导致程序的运行速度变慢。而异步操作可以让程序在等待某个操作完成的同时…

【深度学习笔记】计算机视觉——R-CNN

区域卷积神经网络(R-CNN)系列 sec_rcnn 除了 sec_ssd中描述的单发多框检测之外, 区域卷积神经网络(region-based CNN或regions with CNN features,R-CNN) Girshick.Donahue.Darrell.ea.2014也是将深度模型…

Bagels系列|python小程序随手记

来自《The Big Book of Small Python Projects》 import randomNUM_DIGITS 3 MAX_GUESSES 10 def main():print(Bagels, a deductive logic game. I am thinking of a {}-digit number with no repeated digits. Try to guess what it is. Here are some clues: When I sa…

知识图谱辅助的个性化推荐系统

知识图谱辅助的个性化推荐系统 将从下面4个方面展开: 推荐系统的基础知识知识图谱辅助的推荐方法介绍基于embedding的知识图谱推荐方法混合型知识图谱推荐方法 推荐系统的基础知识 1、什么是推荐系统 在当前互联网时代,推荐系统是所有面向用户的互联…

【深度学习笔记】计算机视觉——多尺度目标检测

多尺度目标检测 在 sec_anchor中,我们以输入图像的每个像素为中心,生成了多个锚框。 基本而言,这些锚框代表了图像不同区域的样本。 然而,如果为每个像素都生成的锚框,我们最终可能会得到太多需要计算的锚框。 想象一…

速盾cdn:快速高防cdn加速

速盾CDN(Sudun CDN)是一种快速高防CDN加速服务,CDN(内容分发网络)是一种通过在全球各地部署服务器节点来加速网站内容传输的技术,可以提高网站的访问速度和稳定性。 传统的网络架构通常会面临一些问题&…

SQL教学: MySQL高级数据操作--深入理解DML语句的技巧与策略

欢迎回到我们的SQL-DML语句教学系列。在之前的文章中,我们已经介绍了DDL语句的基础知识,以及DML语句的基本操作和进阶用法。今天,我们将进一步深入探讨DML语句的高级用法,包括合并查询、索引使用、锁机制以及性能优化等方面的内容…

【PHP】PHP实现与硬件串口交互,向硬件设备发送指令数据(下)

目录 一、前言 二、 效果图 三、安装PHP扩展 四、添加模拟串口 五、PHP发送数据给硬件 PHP代码 前端代码 一、前言 上篇文章写到PHP怎么与硬件串口交互之实时接收硬件发送的数据,这里同样是以天平为例,介绍怎么向硬件设备发送数据, 需…

python常见面试题汇总

在Python面试中,常见的面试问题可以覆盖基础语法、面向对象编程、数据处理和分析,以及特定库的掌握。以下是你可能在面试中遇到的一些典型问题和相应的答案。 基础语法问题: 解释Python中的列表和元组之间的主要区别是什么? 列表是…

深度学习500问——Chapter02:机器学习基础(3)

文章目录 2.10 主成分分析(PCA) 2.10.1 主成分分析(PCA)思想总结 2.10.2 图解PCA核心思想 2.10.3 PCA算法推理 2.10.4 PCA算法流程总结 2.10.5 PCA算法主要优缺点 2.10.6 降维的必要性及目的 2.10.7 KPCA与PCA的区别 2.11 模型评估…

修改uboot连接的主机的ip地址

前言 这一节是因为最近改变了一下连接主机的ip,然后就需要修改一下uboot中一些变量的值。平台是i.mx6ull。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏&#x…