【自动化测试验证码处理】如何跳过验证码,直接自动登录呢?

在日常的测试过程中避免不了要遇到登录的测试,但是在登录时又常常遇到验证码,那么该如何跳过验证码,直接自动登录呢?

当前在市面上比较流行的方式有:

(1)直接跳过验证码(测试环境中:让开发将验证码部分注释掉)。

(2)写生万能验证码(测试环境或准生产环境中:让开发将验证码写成固定的验证码)

(3)通过图像技术进行识别(依赖于相关图像识别技术,针对复杂的情况识别不准)

(4)利用cookie 跳过验证码

那么我们就来介绍下最后一种利用cookie跳过验证码技术。

首先,什么是cookie?

Cookie是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。

例如, 一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形式保存在每个用户的机器上。如果使用浏览器访问 Web, 会看到所有保存在硬盘上的 Cookie。相当于,用户首次登录时,服务器端就生成了一个唯一的验证信息,然后再将该验证信息发送给客户端,这样这个信息就是cookie,相当于一个身份验证,当用户在进行第二次登录时,就使用已有的如上的cookie进行登录就可以了。从而实现自动登录。

其次,自动化测试中常用的获取及添加cookie的方法

get_cookie(key):获取指定cookie

get_cookies():获取所有cookie

add_cookie("{key:value}") :添加cookie,一定要注意格式,字典形式

再次,常见问题如下:

问题一:

driver.add_cookie()中参数填写错误,导致脚本执行失败

解决方案:

driver.add_cookie()中参数需要是字典形式,如下

问题二:

添加完cookie()后,页面显示不正确,无反应

解决方案:

需要在添加完cookie()后,刷新页面,如下

问题三:

执行脚本进行自动登录时,发现脚本已执行完成,但是网页依然没有登录成功。

(1)脚本执行成功

现象:页面仍然是登录页面

解决方案:

需要在自动化测试前,提前将需要登录的用户进行登录

备注:每次登录时用户的cookie都可能发生变化,所以重新登录时,需要获取新的cookie值,更新到最新的脚本中。


以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请 点赞 + 评论 + 收藏 ,三连!

三连之后我会在评论区挨个私信发给你们~

相关推荐
ss27320 分钟前
AI全栈实战 | 2.2-02 React 思维模型:数据不可变 vs Vue 数据可变,两种哲学把复杂度推给谁
前端·vue.js·react.js
郝学胜-神的一滴20 分钟前
AI 编程智能体 02:AI智能体到底是什么
开发语言·人工智能·python·程序人生·pycharm
天衍四九-23 分钟前
Docker Compose企业实战系列(三):Vue/React前端项目容器化完整部署
前端·vue.js·docker
Rosanci38 分钟前
从零到合入主线:我的 DeepSeek Harness 开源贡献实战手记
开发语言·前端·开源
用户960819842231 小时前
多周期联看时十字光标对不齐:前端排查「时间桶」的三步清单
前端
Data analyse4561 小时前
数据合规的敏感数据怎么识别?
前端·人工智能·数据分析
陪我一起学编程1 小时前
vue3笔记
前端·webpack·vue3·vite·脚手架·vue3笔记·组件式
object not found2 小时前
WooCommerce 接入 KPay 后订单完成页不显示订单信息:returnUrl 动态参数问题解决
前端·wordpress·独立站支付
yume_sibai2 小时前
04-Nginx部署实战完全指南(前端部署 + 后端代理 + 监控告警 + 故障排查)
运维·前端·nginx
data analyse 4562 小时前
数据合规的同意记录怎么留存?
前端·人工智能·数据分析