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

news2024/12/25 9:23:44

接口自动化测试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.coloradmin.cn/o/1499861.html

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

相关文章

Manacher 算法——Leetcode 5.最长回文子串

在了解之前,我们先要了解什么是回文串,什么是回文子串。 回文串和回文子串: 回文串是指一个字符串正序遍历和反向遍历结果相同的字符串。如 ABBA,正着读反着读结果是一样的。 有了回文串的概念,回文子串的概念也就显…

顺势交易中,用什么方法识别趋势的开始与结束?

在交易过程中,大家都知道顺势交易的重要性,但如何对趋势的开始和结束进行量化判断呢? 趋势交易需要一个正确的出发点和思想方向。也就是说,趋势交易需要关注什么呢?有哪些相关的技术手段可以利用呢? 首先&a…

springboot使用异步多线程

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 在shigen之前的很多文章中,提到了线程池: 高性能API设计…

一 windso10 笔记本刷linux cent os7.9系统

1:准备材料 16G以上U盘, 笔记本一台 镜像选了阿里云镜像:centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 软件:链接:https://pan.baidu.com/s/13WDp2bBU1Pdx4gRDfmBetg 提取码:09s3 2:把镜像写入U盘,本人已经写入好了,选择镜像,点开始就是,确定等…

javascript正则深入

文章目录 一、前言二、高级`API`2.1、模式匹配的用法`(x)`2.2、非捕获括号的模式匹配`(?:x)`2.3、先行断言`x(?=y)`2.4、后行断言`(?<=y)x`2.5、正向否定查找`x(?!y)`2.6、反向否定查找`(?<!y)x`2.7、字符集合和反向字符集合的用法 `[xyz] / [^xyz]`2.8、词边界和非…

开关电源安规测试标准与测试要求

安规测试是对开关电源进行电气性能、安全性能等检测&#xff0c;确保开关电源符合规定并且安全可靠&#xff0c;为开关电源的质量把关。那么开关电源安规测试有哪些测试要求和标准呢&#xff1f; 开关电源安规测试要求 一、测试前 1. 首先&#xff0c;要检查测试环境&#xff0…

电子商务平台中商品数据采集|API数据接口采集商品的高效性体现

电子商务平台由一个个产品所构成,通过对产品的分析可以有效发掘用户需求,优化店铺产品结构,提升客户粘性、客单价、销售利润等。 一、产品行业数据采集API接口 采集产品行业数据的核心目的是了解该产品的市场需求变化情况,常用到的数据采集指标包括产品搜索指数和产品交易指数两…

项目建设计划书-word

【项目建设计划书-word】 项目描述&#xff08;项目目标&#xff0c;客户需求情况&#xff0c;项目交付清单&#xff0c;验收标准和交付期限&#xff0c;服务及约束&#xff09;项目组织&#xff08;项目组人员架构&#xff0c;职责分工&#xff0c;人员投入安排及时间点安排&…

Python爬虫——Scrapy-1

目录 简介 安装 基本使用 1. 创建爬虫的项目 2. 创建爬虫文件 3. 运行爬虫代码 scrapy项目组成 scrapy工作原理 ​编辑 58同城 scrapy架构组成 汽车之家 总结 简介 Scrapy 是一个基于 Python 的开源网络爬虫框架&#xff0c;它可以帮助开发者快速、高效地构…

MySQL和语言的连接

1.下载开发包 有了之前的基础&#xff0c;就可以使用语言来使用数据库了&#xff0c;实际上原生命令行操作数据库的场景比较少&#xff0c;语言级别的库和包才更加常用&#xff0c;接下我来带您学习如何使用 C/C 访问 MySQL 客户端。 然后创建一个可以远程登录的用户&#xf…

Transformer中的FlashAttention

FlashAttention是一种用于Transformer模型的近似注意力机制&#xff0c;旨在减少注意力计算和内存需求。引入FlashAttention是因为传统Transformer模型中的自注意力机制在处理长序列时存在时间和存储复杂度上的挑战&#xff0c;需要大量的计算资源和内存来处理更长的上下文背景…

【数据结构】二、线性表:6.顺序表和链表的对比不同(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))

文章目录 6.对比&#xff1a;顺序表&链表6.1逻辑结构6.2物理结构&#xff08;存储结构&#xff09;6.2.1顺序表6.2.2链表 6.3数据运算&#xff08;基本操作&#xff09;6.3.1初始化6.3.2销毁表6.3.3插入、删除6.3.4查找 6.对比&#xff1a;顺序表&链表 6.1逻辑结构 顺…

禁闭室的乐趣

解法&#xff1a; 暴力 #include<iostream> #include<vector> #include<algorithm> using namespace std; #define endl \n bool cmp(string& a, string& b) {if (a.size() ! b.size())return a.size() > b.size(); } int main() {ios::sync_wi…

【李沐精读系列】GPT、GPT-2和GPT-3论文精读

论文&#xff1a; GPT&#xff1a;Improving Language Understanding by Generative Pre-Training GTP-2&#xff1a;Language Models are Unsupervised Multitask Learners GPT-3&#xff1a;Language Models are Few-Shot Learners 参考&#xff1a;GPT、GPT-2、GPT-3论文精读…

CentOS7 利用remi yum源安装php8.1

目录 前言remi yum源remi yum源 支持的操作系统remi yum源 支持的php版本 安装epel源安装remi源安装 php8.1查看php版本查看php-fpm服务启动php-fpm服务查看php-fpm服务运行状态查看php-fpm服务占用的端口查看 php8.1 相关的应用 前言 CentOS Linux release 7.9.2009 (Core) …

基于java springboot网上蛋糕商城项目设计和实现

基于java springboot网上蛋糕商城项目设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源…

酷克数据荣获粤港澳大湾区金融创新成果“特优解决方案”奖

近日&#xff0c;“第二届金融创新优秀应用案例与解决方案技术成果评定”正式揭晓&#xff0c;酷克数据提交的“HashData云原生金融信创数据仓库”入选特优解决方案&#xff0c;成为数据治理与数据平台类目中唯一的厂商方案。 本次评定历时5个多月&#xff0c;共257个项目参与申…

了解开源可视化表单的主要优势

为什么可视化表单深受大家喜爱&#xff1f;这就需要了解开源可视化表单的优势和特点了。在流程化办公深入人心的今天&#xff0c;提高办公协作效率早已成为大家的发展目标&#xff0c;低代码技术平台、开源可视化表单是提升办公协作效率的得力助手&#xff0c;一起来看看它的优…

项目管理工具及模板(甘特图、OKR周报、任务管理、头脑风暴等)

项目管理常用模板大全&#xff1a; 1. 项目组OKR周报 2. 项目组传统周报工作法 3. 项目甘特图 4. 团队名单 5. 招聘跟进表 6. 出勤统计 7. 年度工作日历 8. 项目工作年计划 9. 版本排期 10. 项目组任务管理 11. 项目规划模板 12. 产品分析报告 13. 头脑风暴 信息化项目建设全套…

什么是TikTok账号权重?打破TikTok0播放的方法

许多TikTok账号运营者都会遇到一个难题&#xff0c;那就是视频要么播放量很低&#xff0c;要么0播放&#xff01;不管内容做的多好&#xff0c;最好都是竹篮打水一场空&#xff01;其实你可能忽略了一个问题&#xff0c;那就是账号权重。下面好好跟大家讲讲这个东西&#xff01…