Python 保持登录状态进行接口测试的方法示例

记录三种添加cookie保持接口登录状态的方法,方便自己回顾。

1.简单粗暴式。

此方法比较小白,前提是已经通过fiddler抓包等方式拿到了cookie,然后直接塞进去。

import requeststrainsUrl ='http://XXX.com/trains'headers = {"Content-Type":"application/json;charset=UTF-8",}cookies = {"XXXthor":"XXXXXX105a42"}prames = {'depId':'1','arrId':'2','goDate':'XXXX'}res = requests.get(url=trainsUrl, cookies=cookies, params=prames, headers=headers).json()

2.从登录接口获取

import requestsloginUrl ="http://XXX.com/login"data1 = {"userName":"157XXXX","userPwd":"XXXX"}headers = {"Content-Type":"application/json;charset=UTF-8"}#运行登录接口loginRes = requests.post(url=loginUrl, json=data1, headers=headers)trainsUrl ='http://XXX.com/trains'parames = {'depId':'1','arrId':'2','goDate':'1538100286000'}#运行trainsUrl接口时,从loginRes中获取cookiesres = requests.get(url=trainsUrl, params=parames, cookies=loginRes.cookies).json()

这种方式是先运行登录接口,然后从loginRes中获取cookies,以供后续接口使用。

3.使用会话对象保持登录---摘自网络

import requests# Session 会话对象# 会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie# 会话对象具有主要的 Requests API 的所有方法。你可以当成 Request去使用sessionRequest = requests.session() #实例化会话对象loginUrl ="http://XXX.com/login"data = {"userName":"157XXXX","userPwd":"XXX"}headers = {"Content-Type":"application/json;charset=UTF-8"}#第二次请求的urltrainsUrl ='http://XXX/trains'parames = {'depId':'1','arrId':'2','goDate':'XXXXX'}#登录resp = sessionRequest.post(url=loginUrl , json=data, headers=headers)#请求trains接口trainsResp = sessionRequest.get(url=trainsUrl, params=parames)
总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

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

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

相关文章

解决kali beef启动失败解问题

只限于出现这个提示的时候使用 卸载 ruby apt remove ruby 卸载 beef apt remove beef-xss 重新安装ruby apt-get install ruby apt-get install ruby-dev libpcap-dev gem install eventmachine 重新安装beef apt-get install beef-xss 弄完以上步骤如果还是不行就重启kali再试…

GaussDB与openGauss有什么相同和不同?

众所周知,GaussDB是华为自主创新研发的分布式关系型数据库,为企业提供功能全面、稳定可靠、扩展性强、性能优越的企业级数据库服务,openGauss是开源数据库,两者之间又是什么样的关系,有什么相同和不同,让我…

各种版本对应关系:SpringCloudAlibaba——SpringCloud——SpringBoot——SpringFramework——JDK

SpringCloudAlibaba——SpringCloud——SpringBoot——SpringFramework——JDK 一般情况,在https://github.com/项目/wiki目录下有发布信息及对应的要求其他依赖的版本信息SpringCloudAlibaba——SpringCloud——SpringBootSpringBoot和SpringFramework的版本对应关…

T细胞耗竭如何研究,看看这篇靶向甲基转移酶的癌症顶刊思路 | 国自然热点

T 细胞耗竭(T Cell Exhaustion, Tex)是指因长期慢性感染或癌症,导致患者体内T细胞功能丧失的情况。由于长期暴露于持续性抗原或慢性炎症,T细胞逐渐失去效应功能,记忆T细胞特征也开始缺失。T细胞耗竭通常与对持续感染和…

Docker(一)简介和基本概念:什么是 Docker?用它会带来什么样的好处?

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 一、简介 本章将带领你进入 Docker 的世界。 什么是 Docker? 用它会带来什么样的好处? 好吧,让我们带…

基于HFSS的微带线特性阻抗仿真-与基于FDTD的计算电磁学方法对比(Matlab)

基于HFSS的微带线特性阻抗仿真-与基于FDTD的计算电磁学方法对比(Matlab) 工程下载: HFSS的微带线特性阻抗仿真工程文件(注意版本:HFSS2023R2): https://download.csdn.net/download/weixin_445…

ArcGIS Pro SDK 通知框

样式 代码 using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Geometry; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Desktop.Extensions; using ArcGIS.Desktop.Framework; using ArcGIS.Deskt…

[排序篇] 快速排序

目录 前言 一、概念 二、快速排序算法 三、快速排序算法代码 四、快速排序之递归函数讲解 五、补充说明 总结 往期回顾 [排序篇] 冒泡排序[排序篇] 冒泡排序-CSDN博客 前言 上一节我们学习了冒泡排序,但是它的执行效率很低,时间复杂度…

强化学习(二)多臂老虎机 “Multi-armed Bandits”——1

将强化学习与机器学习、深度学习区分开的最重要的特征为:它通过训练中信息来评估所采取的动作,而不是给出正确的动作进行指导,这极大地促进了寻找更优动作的需求。 1、多臂老虎机(Multi-armed Bandits)问题 赌场的老虎…

第8章 通信网络安全

文章目录 8.1 信息系统安全概述8.1.1 信息系统的构成和分类8.1.2 信息系统安全1、信息系统中的安全概念2、信息系统安全问题的发展演变3、信息系统的安全结构 8.1.3 信息系统的安全保护等级1.TCSEC(可信计算机系统评估准则)2. 我国信息安全标准 8.1.4 通…

JVM工作原理与实战(十六):运行时数据区-Java虚拟机栈

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、Java虚拟机栈 1.栈帧的组成 2.局部变量表 3.操作数栈 4.帧数据 总结 前言 JVM作为Java程序的运行环境,其负责解释和执行字节码,管理…

2024年美国各州即将生效的新隐私保护法(上)

2024年美国各州即将生效的新隐私保护法(上) 文章目录 2024年美国各州即将生效的新隐私保护法(上)前言一、2023年隐私保护法开始生效的五个州二、2023年通过了新的隐私保护法的八个州三、2024年确定截止的州及法律法规(…