【接口自动化】selenium库也有大用场(获取cookie)

news2024/10/5 17:23:37

相信有些童鞋在做接口、或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的。

那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个“万能”值,那么你带着这个“万能”值在请求里,就可以畅通无阻了。

但是也不是开发都愿意干这样的事儿,而且很多测试童鞋脸皮也薄(O(∩_∩)O哈哈~),脸皮薄不提倡啊。那么就自己的事儿自己来吧。

既然是需要登录才可以请求,那我们就登录呗。咋登录呢?

selenium库用起来,然后用selenium获取浏览器cookie。下面demo一段登录操作,来登录被测试的系统。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://xxx.xx.com/xxx/login") #打开登录地址
driver.find_element_by_id("username").send_keys("xxx") #输入用户名
driver.find_element_by_id("password").send_keys("xxxx") #输入密码
driver.find_element_by_xpath("//button[.= '登录']").click() #点击登录
cookie = driver.get_cookies() #这里就是获取cookie
print(cookie)

让我们来康康到底拿到cookie了木有?

[
 {
    'domain': 'xxxx.xx.xxxx.com',
    'httpOnly': True, 
    'name': 'SESSION', 
    'path': '/xxx/',
    'secure': False, 
    'value': 'YjRjYzY1ODMtNjA1ZS00OWZmLWFmODQtZjhmY2ZjMmIxNzlj'
 }
]

看下浏览器F12,找到cookie,比对一下

OK,就是这个值了,那么就可以带着这个值开开心心的测试接口啦。

接口自动化可以采用pytest单元测试框架+requests库,简单粗暴,sei用sei资道。

翠花,上demo

import requests
import pytest

HEADER = {
           'Cookie': "SESSION=YjRjYzY1ODMtNjA1ZS00OWZmLWFmODQtZjhmY2ZjMmIxNzlj"
    }

def test_01():

    r = requests.get("http://xxxx/finance/detail" ,headers=HEADER)
    result = r.json()
    print(result)

if __name__ == '__main__':
    pytest.main(['-s', 'demo1.py'])

看下打印出的请求结果:

请求结果

当然了,接口自动化测试别忘记加断言哦,demo里就不写了。总之就是活学活用。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

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

在这里插入图片描述

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

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

相关文章

Web应用渗透测试完全指南(二)

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

清理docker Build Cache缓存文件

使用docker构建镜像,发现docker的overlay2文件会越来越大。 使用命令查看docker系统占用资源: docker system df 可以看到已经占用了26.7GB,清理这个缓存 docker builder prune 再次查看,已经没有缓存了,清理成功。 …

Moonbeam生态项目分析 — — DeFi借贷协议Moonwell

流动性激励计划Moonbeam Ignite是帮助用户轻松愉快体验Moonbeam生态的趣味活动。在Moonbeam跨链连接的推动下,DeFi的各种可能性在这里爆发。DeFi或许不热门,但总有机会捡漏,了解Monbeam生态项目,我们邀请Moonbeam大使分享他们的研…

4天肝出一个数据应用,可能吗?| StartDT Hackathon

以「基于SimbaOS Kernel的应用创新」为主题,2023年秋季StartDT Hackathon近日圆满收官。 本季黑客马拉松不仅有多次蝉联冠军的算法团队参战,有过去惜败的队伍卷土重来,还吸引到了制造、政企、泛零售等行业线开发者“攻擂”,携丰富…

数据结构 | 二叉树的概念及前中后序遍历

数据结构 | 二叉树的概念及前中后序遍历 文章目录 数据结构 | 二叉树的概念及前中后序遍历一、树概念及结构1.1 树的相关概念 二、树的表示2.2 树在实际中的运用(表示文件系统的目录树结构) 三、二叉树概念及结构3.1 二叉树的基本概念3.2 二叉树的结构&a…

美林防火建材——朱林甫 坚韧与创新:美林传奇

在这个变幻莫测的时代,有一些创业者凭借着对行业的深刻理解和对未来的敏锐洞察,不仅在商海中乘风破浪,更是引领了整个行业的发展。今天,我们要讲述的,就是一位这样的创业者——来自浙江嘉善的朱总,他创立的…

Python 文件读写

Python 文件读写笔记整理 参数说明 open(path, flag[, encoding][,errors]) path:要打开文件的路径 flag:打开方式 encoding:编码方式 errors:错误处理 Flag打开方式表 模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格…

echarts x轴y轴添加单位

function evaluationDistributionBar(data,id) { //data.series[0].data [1,31,1,1]//data.series[1].data [1,1,1,1]if(!data || data.series.length 0) returnfor(let i in data.series){//给柱状图动态修改颜色if(data.series[i].name 男){data.series[i].itemStyle {c…

什么牌子的led台灯质量好?考研必备五款护眼台灯推荐

眼睛更是心灵的窗户,我们通过这扇窗来欣赏这个美好的世界。而如今,近视在儿童中已司空见惯,近视率逐年提高,并且低龄化的现状更加突出。据世界卫生组织的最新研究报告,目前中国近视患者人数多达6亿,其中我国…

Sui与阿联酋科技孵化器Hub71合作支持生态项目建设,扩大全球影响力

近日,总部位于阿联酋( United Arab Emirates ,UAE)的科技孵化器Hub71宣布与Mysten Labs合作,将支持Sui上的新项目。通过本次合作,孵化项目的开发者们不仅可以获得Mysten Labs的技术专业知识和支持&#xff…

供应商关系管理软件:如何使用它来改善供应商关系?

从最基本的角度来说,企业需要供应商为其生产和销售的产品或服务提供原材料,或者为其提供资源和服务来经营自己的业务。 建立稳定而健康的供应商关系的最大优势之一,就是可以为企业带来更高的价值。企业对供应商了解越多,供应商对…

kerberos的认证过程以及白银黄金票据

kerberos协议 背景 1、1000台电脑,员工可以在任意电脑上登录自己的账户,每台电脑建立1000个用户 2、现有一台打印机服务,员工想要访问有两种方式,一种直接链接网线,第二种实现认证后,多个主机使用一台打印…

程序包不存在

idea2020会有一个小bug&#xff0c;在idea的Settings设置中进行下面配置&#xff1a; 然后在maven项目下的pom.xml中加入如下代码&#xff1a; <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifact…

CVE-2023-25573:MeterSphere 任意文件下载漏洞复现[附POC]

文章目录 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞复现[附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 MeterSphere 任意文件下载&#xff08;CVE-2023-25573&#xff09;漏洞…

基于SSM线上旅行信息管理系统设计与实现

摘 要 随着旅游业的迅速发展&#xff0c;传统的旅行信息查询管理方式&#xff0c;已经无法满足用户需求&#xff0c;因此&#xff0c;结合计算机技术的优势和普及&#xff0c;特开发了本线上旅行信息管理系统。 本论文首先对线上旅行信息管理系统进行需求分析&#xff0c;从系…

Abbyy FineReader16最新版本有哪些新功能?

在数字化时代&#xff0c;数据处理和转换变得非常重要&#xff0c;Abbyy FineReader 就是一款专门用于处理、转换和识别图像和 PDF 文件的软件。在本文中&#xff0c;我们将会详细介绍 Abbyy FineReader 的功能以及适合使用该软件的电脑。 ABBYY Finereader 16-安装包下载如下&…

echarts折线图的线呈现动态效果

效果如图 let yData [222, 932, 66, 934, 111, 333, 0],xData ["测1", "测2", "测3", "测4", "测5", "测6", "测7"],datacoords [{coords: [],},];for (var i 0; i < xData.length; i) {datacoo…

抖音自动评论助手,开发流程与需要到的技术和代码分享

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、引言 随着互联网的快速发展&#xff0c;短视频平台已成为人们日常生活的重要组成部分。其中&#xff0c;抖音作为一款深受用户喜爱的短视频平台&#xff0c;拥有庞大的用户群体…

Visual Studio 2022分析C#程序内存泄漏

背景 最近我们的项目出现了内存激增的情况&#xff0c;初次探讨&#xff0c;我们发现和机器人发生通信之后&#xff0c;内存会缓慢上升&#xff0c;直到系统崩溃。 例子 由于只是介绍一个简单的方案&#xff0c;所以就写一个比较简单的例子来演示了&#xff0c;代码如下&…

MySQL进阶知识:SQL性能优化

目录 SQL性能分析 SQL执行频率 慢查询日志 profile详情 explain执行计划 索引的使用 最左前缀法则 范围查询 索引列运算 字符串加引号 模糊查询 or连接的条件 数据分布影响 SQL提示 覆盖索引 前缀索引 索引设计原则 SQL优化 insert优化 主键优化 页分裂 …