当前位置: 首页 > news >正文

【UI自动化测试】12_web自动化测试 _验证码处理和cookie

文章目录

  • 一、验证码
    • 1.1 验证码处理-方法
    • 1.2 验证码-总结
  • 二、cookie
    • 2.1 cookie-方法
    • 2.2 如何通过cookie来跳过登录
    • 2.3 cookie-案例
    • 2.4 cookie-总结

一、验证码

验证码:一种随机生成的信息(数字、 字母、 汉字、 图片、 算术题) 等为了防止恶意的请求行为, 增加应用的安全性。

为什么要学习验证码? - 在Web应用中,大部分系统在用户登录注册的时候都要求输入验证码,而我们在设计自动化测试脚本的时候,就需要面临处理验证码的问题。

1.1 验证码处理-方法

说明: Selenium中并没有对验证码处理的方法, 在这里我们介绍一下针对验证码的几种常用处理方式

方式:1).去掉验证码(测试环境-采用)2).设置万能验证码(生产环境和测试环境-采用)3).验证码识别技术(通过Python-tesseract来识别图片类型验证码; 识别率很难达到100%)4).记录cookie(通过记录cookie进行跳过登录)

提示 :

1.去掉验证码、设置万能验证码:都是开发来完成,我们在这里不做讲解2.验证码识别技术:成功率不高,验证码种类繁多,不太适合3.记录cookie:比较实用,我们对它进行下讲解

1.2 验证码-总结

1、什么是验证码? - 一种随机生成信息(文字、数字、图片) 2、验证码作用 - 防止恶意请求 3、验证码处理方式 - ①去掉验证码(项目在测试环境、公司自己的项目) - ②设置万能验证码(测试环境或线上环境,公司自己项目) - ③使用验证码识别技术 (由于现在的验证码千奇百怪,导致识别率太低) - ④使用cookie解决(推荐)

二、cookie

1、Cookie是由Web服务器生成的, 并且保存在用户浏览器上的小文本文件, 它可以包含用户相关的信息。

2、Cookie数据格式: 键值对组成(python中的字典)。

3、Cookie产生: 客户端请求服务器, 如果服务器需要记录该用户状态, 就向客户端浏览器颁发一个Cookie数据。(服务器自动生成cookie)

4、Cookie使用: 当浏览器再次请求该网站时, 浏览器把请求的数据和Cookie数据一同提交给服务器, 服务器检查该Cookie, 以此来辨认用户状态。

cookie的应用场景 - 实现会话跟踪, 记录用户登录状态 - 实现记住密码和自动登录的功能 - 用户未登录的状态下, 记录购物车中的商品

2.1 cookie-方法

说明: Selenium中对cookie操作提供相应的方法

方法:# name:为cookie的名称1.driver.get_cookie(name)-->获取指定cookie2.driver.get_cookies()-->获取本网站所有本地cookies3.driver.add_cookie(cookie_dict)-->添加cookie,cookie_dict:一个字典对象,必选的键包括:"name"and"value"

2.2 如何通过cookie来跳过登录

1、先找开发确认被测系统是否是使用cookie技术记录的用户登录状态。

  • 并不是所有的系统都是使用的cookie来进行用户身份记录,学习接口测试时候还有token和Session的方式

2、找开发继续确认记录用户登录状态cookie的name是什么。

3、手工登录,F12打开浏览器获取cookie信息。

  • 百度:记录用户身份凭证的cookie的name叫BDUSS。(以百度为例)
dict_cus={"name":"BDUSS","value":"05VkJaelAtblhuV2hIQncxS0p2N1l4MVNrdmctZGxWREUwNWdYTjRwV1N3Y1pjRVFBQUFBJCQAAAAAAAAAAAEAAAD82ggPMTUwNjkxNTU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJI0n1ySNJ9ca0"}

4、脚本打开浏览器网址之后,添加cookie到浏览器,刷新页面

# 添加cookie到本地浏览器driver.add_cookie(dict_cus)# 刷新 必须进行刷新才能看到效果driver.refresh()

2.3 cookie-案例

""" 需求:使用cookie实现百度登录 依赖kookies: BDUSS """fromtimeimportsleepimporttimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy# 2、打开浏览器-创建浏览器驱动对象driver=webdriver.Chrome()# 最大化浏览器driver.maximize_window()# 隐式等待driver.implicitly_wait(10)driver.get("https://www.baidu.com")# 添加cookie到本地浏览器dict_cus={"name":"BDUSS","value":"05VkJaelAtblhuV2hIQncxS0p2N1l4MVNrdmctZGxWREUwNWdYTjRwV1N3Y1pjRVFBQUFBJCQAAAAAAAAAAAEAAAD82ggPMTUwNjkxNTU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJI0n1ySNJ9ca0"}driver.add_cookie(dict_cus)# 获取指定cookie的信息cookie=driver.get_cookie("BDUSS")print("cookie:",cookie)# 获取所有的cookies信息,列表形式cookies=driver.get_cookies()print("cookies内容为:",cookies)forcoincookies:print(co['name'])# 暂停2秒sleep(2)# 刷新 必须进行刷新才能看到效果driver.refresh()# 暂停 2sleep(5)# 关闭驱动对象driver.quit()

2.4 cookie-总结

1cookie 介绍: 生成:由服务器生成 作用:标识一次对话的状态(登录的状态)使用:浏览器自动记录cookie,在下一条请求时将cookis信息自动附加请求2应用: 方法:1.driver.get_cookies()# 获取所有的cookie2.driver.add_cookies({字典})# 设置cookie步骤:1.打开百度url driver.get("http://www.baidu.com")2.设置cookie信息: driver.add_cookie({"name":"BDUSS","value":"根据实际情况编写"})3.暂停2秒以上4.刷新操作 注意:1.以上百度BDUSS所需格式为百度网站特有,别的网站请自行测试。2.必须进行刷新操作。
http://www.jsqmd.com/news/397265/

相关文章:

  • 【UI自动化测试】11_web自动化测试 _窗口截图
  • 关于财务人生的杂感
  • the future of CHina
  • Python write 20M rows data to csv file via pandas meanwhile monitor memory via psutil
  • Agentic CI/CD:使用 Kubernetes 部署门控,结合 Elastic MCP Server
  • 2026年AI营销新赛道:六家特色GEO优化服务商全景解析 - 品牌2025
  • 随笔 4
  • 2026如何通过AI营销获客?国内特色GEO服务商盘点 - 品牌2025
  • 元学习应用方案实战:AI架构师如何构建自适应系统
  • 抢占AI时代流量入口,特色的GEO服务商概览 - 品牌2025
  • 氮和氧的氟化物 NF3,OF2,FNO3,FClO4 学习笔记
  • 46-mini-vue 实现编译 template 为 render 函数
  • AcWing算法基础课(配套习题)
  • GPT赋能AI原生应用领域的数字化转型
  • 一个人的价值
  • AI原生应用开发指南:工作记忆模块设计与优化
  • 聪明人与社会价值
  • 企业级AI原生应用开发:幻觉缓解架构设计指南
  • 64 搜索平移递增数组中的元素
  • 大专工业大数据应用专业学习数据分析的价值分析
  • 互联网大厂Java面试场景与技术点详解:从Spring到微服务
  • 大厂AI架构师的监控预警心得:这6点让你少走一年弯路
  • 个人博客网站搭建day2-Spring Boot 3 + JWT + Redis 实现后台权限拦截与单点登录(漫画解析)
  • DataFrame数据合并与连接:Pandas中整合数据的全面指南
  • 国内特色GEO服务商能力全景解析(2026年2月) - 品牌2025
  • DataFrame数据聚合与分组:从基础到进阶的Python数据分析指南
  • 题解:洛谷 P3380 【模板】树套树
  • 深入RAG架构:分块策略、混合检索与重排序的工程实现
  • 抢占AI搜索新入口:主流GEO服务商全景解析(2026年版) - 品牌2025
  • 大年初四