软件测试/测试开发丨接口自动化测试,接口鉴权的多种方式
点此获取更多相关资料
本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/28000
一、后端接口鉴权常用方法
-
cookie
- 携带身份信息请求认证
- 之后的每次请求都携带cookie信息,cookie记录在请求头中
-
token
- 携带身份信息请求认证
- 之后的每次请求都携带token认证信息
- 可能记录在请求头,可能记录在url参数中
-
auth
- 每次请求携带用户的username和password,并对其信息加密
-
oauth2(选修)
- 携带身份信息请求认证
- 服务端向指定回调地址回传code
- 通过code获取token
- 之后的请求信息都携带token。
二、cookie 鉴权
-
cookie 的获取(根据接口文档获取)
-
发送携带 cookie 的请求
- 直接通过 cookies 参数
- 通过
Session()对象
class TestWithSession:proxy = {"http": "http://127.0.0.1:8888", "https": "https://127.0.0.1:8888"}req = requests.Session()def setup_class(self):url = "http://train-manage.atstudy.com/login"data = {"username": "199****9999", "password": "a1***56"}resp = self.req.request("post", url, data=data, proxies=self.proxy)print(self.req.headers)def test_get_userinfo(self):url = "http://train-manage.atstudy.com/api/manage/User/Info"resp = self.req.request("get", url, proxies=self.proxy)print(resp.text)def test_manage_tag(self):url = "http://train-manage.atstudy.com/api/manage/Tag?type=1"resp = self.req.request("get", url, proxies=self.proxy)print(resp.text)
三、token 鉴权
- token 的获取(根据接口文档获取)
- 发送携带 token 的请求(根据接口文档获取)
class TestWithToken:proxy = {"http": "http://127.0.0.1:8888", "https": "http://127.0.0.1:8888"}headers = {}def setup_class(self):token = self.login().json()["data"]["token"]print(token)self.headers["x-litemall-admin-token"] = token@classmethoddef login(cls):url = "https://litemall.hogwarts.ceshiren.com/admin/auth/login"data = {"username": "hogwarts", "password": "test12345", "code": ""}resp = requests.request("post", url, json=data, proxies=cls.proxy, verify=False)return respdef test_get_dashboard(self):url = "https://litemall.hogwarts.ceshiren.com/admin/dashboard"resp = requests.request("get", url, headers=self.headers, proxies=self.proxy, verify=False)print(resp.text)# print(1)def test_category_list(self):url = "https://litemall.hogwarts.ceshiren.com/admin/category/list"resp = requests.request("get", url, headers=self.headers, proxies=self.proxy, verify=False)print(resp.text)
相关文章:
软件测试/测试开发丨接口自动化测试,接口鉴权的多种方式
点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/28000 一、后端接口鉴权常用方法 cookie 携带身份信息请求认证之后的每次请求都携带cookie信息,cookie记录在请求头中 token 携带身份信息请求…...
08 robotframework 修改乱码问题
修改[Python目录]\Lib\site-packages\robotide\lib\robot\utils中的encodingsniffer.py if UNIXY: DEFAULT_SYSTEM_ENCODING UTF-8 DEFAULT_OUTPUT_ENCODING UTF-8 else: DEFAULT_SYSTEM_ENCODING cp1252 DEFAULT_OUTPUT_ENCODING cp437 将DEFAUL…...
门店如何设置多个联系电话和营业时间
小程序中门店信息是非常重要的,通常需要有门店地址、门店电话和营业时间等。采云小程序支持设置多个门店联系电话,避免客户无法联系到门店。而且,也支持设置多个营业时间时段。例如周一到周五早08:00 - 18:00 。客户在周末下单的时候&#…...
第5章 字典和结构化数据
目录 1. 字典数据类型1.1 添加键值对1.2 删除键值对1.3 keys() 方法1.4 values() 方法1.5 items() 方法1.6 检查字典总是否存在键或值1.7 get() 方法1.8 setdefault() 方法 2. 嵌套2.1 在列表中存储字典2.2 在字典中存储列表2.3 在字典中存储字典 1. 字典数据类型 键值对无序 …...
2023年咸阳市《网络建设与运维》赛题
2023年咸阳市职业院校技能大赛 网络建设与运维赛项 赛卷 023年11月 竞赛说明 一、竞赛项目简介 “网络建设与运维”竞赛共分为模块一:网络理论测试;模块二:网络建设与调试;模块三:服务搭建与运维等三个模块。 二、竞赛注意事项 1.禁止携带和使用移动存储设备、计算...
Spring Cloud Netflix微服务组件-Eureka
目录 CAP理论 注册中心对比 为什么注册中心更适合用AP? 分布式系统AP和CP如何取舍? Eureka核心功能点 Euraka server启动的主线流程 总体流程图 EnableEurekaServer 流程图 EurekaServerAutoConfiguration EurekaServerInitializerConfigurat…...
FreeRTOS_任务创建与删除
1. 函数TaskCreate() 2. 函数xTaskDelete() xTaskDelete(NULL) //参数为NULL,为删除当前任务 3.其它相关任务API函数...
什么是Vue的前端微服务架构(Micro Frontends)?
前端微服务架构(Micro Frontends)是一种借鉴了后端微服务架构思想的新型前端架构风格。它将前端应用程序拆分为多个小型、独立的部分,每个部分都可以独立部署、独立开发和独立运行。这种架构的出现是为了解决庞大的一整块后端服务带来的变更与…...
什么是原生IP与广播IP?原生IP有何优势?
在代理IP中,我们常常听到原生IP与广播IP,二者有何区别?如何区分呢?下面为大家详细讲解。 一、什么是原生ip 原生IP地址是互联网服务提供商(ISP)直接分配给用户的真实IP地址,无需代理或转发。此…...
vnodeToString函数把vnode转为string(innerhtml)
函数 function vnodeToString(vnode) {// 如果是文本节点,直接返回文本内容if ([string, boolean, undefined, null, number].includes(typeof vnode)) {return vnode;}// 转换节点的属性为字符串形式const attrs Object.keys(vnode.attrs || {}).map((key) > …...
【Halcon】C# HTuple多参数设置小技巧
比如,在halcon中我们经常这么写: dev_disp_text (hello, window, 100, 200, red, [box,shadow],[true,false])[‘box’,‘shadow’] 和 [‘true’,‘false’] 成对出现。 可以同时对多个参数设置。 如果用halcon翻译C#,你会得到:…...
此芯科技加入绿色计算产业联盟,参编绿色计算产业发展白皮书
近日,此芯科技正式加入绿色计算产业联盟(Green Computing Consortium,简称GCC),以Arm架构通用智能CPU芯片及高能效的Arm PC计算解决方案加速构建软硬协同的绿色计算生态体系,推动绿色计算产业加速发展。 继…...
webrtc 生成unpack_aecdump工具
1.download webrtc-code https://git.ringcentral.com/build/webrtc-build 2.下载webrtc代码 3.terminal 进入src目录下 4.构建目录: terminal执行:gn gen out/Release --argsis_component_buildfalse 5.构建可执行文件: terminal执行…...
数据结构第四课 -----线性表之队列
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
蓝桥杯 第 3 场算法双周赛4,7题
迷宫逃脱 一眼数字三角形模型,因为是要求最大值,而且对转移状态有限制,所以需要注意dp状态的初始化,可以将所有状态赋值为-0x7f,然后将dp[0][1]和dp[1][0]初始化为0,又因为考虑到起始点a[1][1],…...
西安有哪些比较好的设计院?西安名企设计院介绍!
1、西北综合勘察设计研究院(地址:陕西省西安市习武园9号) 西北综合勘察设计研究院始建于1952年,是西北地区建设领域成立最早、规模最大的的综合性甲级勘察设计咨询科研单位,公司业务以工程勘察、建筑设计、市政设计、…...
Java获取Jar、War包路径,并生成可编辑修改的本地配置文件
前言 本地的可修改配置文件的编写理应是一个很常用的功能,但由于数据库的存在,它鲜少被提及,大多数我们直接存储到数据库中了。 以至于现今,除了没接触数据库的新手时常使用它以外,它没有太多的出场机会。 也因此&am…...
FPGA UDP RGMII 千兆以太网(4)ARP ICMP UDP
1 以太网帧 1.1 1以太网帧格式 下图为以太网的帧格式: 前导码(Preamble):8 字节,连续 7 个 8’h55 加 1 个 8’hd5,表示一个帧的开始,用于双方 设备数据的同步。 目的 MAC 地址:6 字节,存放目的设备的物理地址,即 MAC 地址 源 MAC 地址:6 字节,存放发送端设备的…...
【视觉SLAM十四讲学习笔记】第二讲——初识SLAM
专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲 一个机器人,如果想要探索某一块区域,它至少需要知道两件事: 我在什么地方——定位周围环境是什么样——建图 一方面需要明白自身的状态(即位置)&#…...
Python交易-通过Financial Modeling Prep (FMP)选择行业
介绍 在您的交易旅程中,无论您是在寻找理想的股票、板块还是指标,做出明智的决策对于您的成功至关重要。然而,收集和分析所需的大量数据可能相当艰巨。财务建模准备 (FMP) API的...
从VGG到ResNet:我是如何用PyTorch复现经典,并理解‘残差’如何拯救了深度学习的
从VGG到ResNet:用PyTorch复现经典,理解残差如何重塑深度学习 2014年ImageNet竞赛冠军VGG网络将深度卷积神经网络推向了19层的里程碑,但研究者们很快发现:单纯堆叠更多层数反而会导致模型性能下降。这种现象被称作"网络退化&q…...
电商客服+导购智能体的设计与开发
这个代码的核心功能是:基于输入词的长度动态选择反义词示例,并调用大模型生成反义词,体现了 “动态少样本提示(Dynamic Few-Shot Prompting)” 与 “上下文长度感知的示例选择” 的能力。 from langchain.prompts impo…...
告别官方文档!用IntelliJ IDEA 2023.3 + Flutter 3.19 搭建环境,我踩过的坑你别再踩了
告别官方文档!用IntelliJ IDEA 2023.3 Flutter 3.19 搭建环境,我踩过的坑你别再踩了 如果你正在寻找一份真正实用的Flutter环境搭建指南,那么你来对地方了。作为一个刚从官方文档和无数博客教程中"幸存"下来的开发者,我…...
深入解析 Android 开发高级工程师:职责、技能与面试精要
在移动互联网时代,Android 平台作为全球最大的移动操作系统之一,其应用开发人才的需求持续旺盛。对于追求技术深度和业务影响力的开发者而言,进阶成为 Android 开发高级工程师是一个重要的里程碑。这不仅要求开发者具备扎实的编码功底和丰富的项目经验,更需要其在架构设计、…...
计算机毕业设计springboot月子中心信息管理系统 基于SpringBoot的产后护理中心数字化管理平台 Java母婴康复会所智能服务系统
计算机毕业设计springboot月子中心信息管理系统915bg9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着现代社会生活节奏的加快与家庭结构的变化,越来越多的产妇选…...
从零到一:MicroPython 环境搭建与首个硬件交互项目实战
1. 初识MicroPython:为什么选择它? 第一次接触MicroPython时,我正为一个智能家居项目寻找合适的开发方案。当时被它"Python on hardware"的理念吸引——毕竟谁能拒绝用熟悉的Python语法直接控制硬件呢?MicroPython本质上…...
实战react项目:基于快马ai快速构建包含图表与导航的用户数据仪表盘
最近在做一个用户数据仪表盘项目,正好用React配合Ant Design实现了一套完整的界面。这种包含导航、图表和动态数据的页面在后台系统中很常见,记录下我的实现思路和踩坑经验。 项目结构规划 首先用create-react-app初始化项目,然后按功能模块…...
从无人机到扫地机器人:拆解VIO技术如何成为智能设备的‘隐形大脑’
从无人机到扫地机器人:拆解VIO技术如何成为智能设备的‘隐形大脑’ 当科沃斯T20扫地机器人在复杂家居环境中精准避开宠物食盆时,当大疆Mavic 3无人机在峡谷间自主返航时,背后都隐藏着一项关键技术——视觉惯性里程计(VIOÿ…...
“芯”动每一秒:当骁龙的速度脉搏跳动在F1赛道
2026年F1中国大奖赛日前在上海国际赛车场落下帷幕。除了赛道上令人热血沸腾的争夺,本届赛事在商业与科技融合层面同样看点颇多,尤其是冠军车队梅赛德斯-AMG与其官方合作伙伴高通骁龙的深度联动,成为围场内外热议的焦点。当F1这项百年运动不断…...
SAP增强开发实战:如何用STARTING NEW TASK避免BAPI_TRANSACTION_COMMIT的坑?
SAP增强开发实战:如何用STARTING NEW TASK避免BAPI_TRANSACTION_COMMIT的坑? 在SAP标准增强开发中,当我们需要在出口函数里调用BAPI修改或创建业务单据时,总会遇到一个经典难题:如何在增强点安全地提交事务?…...
