Selenium自动化测试:通过cookie绕过验证码的操作_自动化测试登录界面验证码忽略

对于web应用,很多地方比如登录、发帖都需要输入验证码,类型也多种多样;登录/核心操作过程中,系统会产生随机的验证码图片,进行验证才能进行后续操作

解决验证码的方法如下:

1、开发做个万能验证码(推荐)
2、测试环境关闭验证码功能(推荐)(开发配置)
3、图片识别技术(不稳定)
4、调用开发生成验证码接口(和开发配合)
5、第三方验证码平台(打码兔)
6、cookie绕过验证码(推荐)

cookie处理

假如我们需要验证浏览器中是否存在cookie,因为基于真实的cookie是无法通过白盒和集成测试完成的,webdriver可以读取、添加和删除cookie信息

webdriver操作cookie的方法如下:

get_cookies()  获取所有cookie信息
get_cookie(name)  返回特定name有cookie信息
add_cookie(cookie_dict)  添加cookie,必须有name和value值
delete_cookie(name)  删除特定部分的cookie信息
delete_all_cookies()  删除所有cookie信息

**备注:**add_cookie()里面放置字典参数,cookie字典一般需要包含name、value、domain、path等字段,如果遇到cookie有Expirse字段,要去掉

举例实战:利用cookie完成网站的免密码应用

**第一步的代码思路:**只是为了把登录后的cookie信息写入到excel中为后面的免密码登录做准备工作

1、打开网站的登录页面
2、等待60s,这个时间手动去输入用户名、密码、验证码登录
3、获取登录之后cookie
4、把登录之后cookie写入到excel中

代码如下:

前置条件:导入xlwt库

import os
import time
import xlwt
from selenium import webdriver

current_path = os.path.dirname(os.path.abspath(file)) # 当前路径
driver_path = os.path.join(current_path,‘…/webdriver/chromedriver.exe’) # driver路径
driver = webdriver.Chrome(executable_path=driver_path) # Firefox,Ie等

driver.get(‘http://47.107.187.54/zentao/www/index.php?m=user&f=login’) # 打开禅道地址

workbook = xlwt.Workbook(encoding=‘utf-8’) # 设置workbook对象
sheet = workbook.add_sheet(‘Sheet01’) # 新增sheet页名称
sheet.write(0,0,‘number’) # 通过行列坐标写入值
sheet.write(0,1,‘name’)
sheet.write(0,2,‘value’)
sheet.write(0,3,‘path’)
sheet.write(0,4,‘domain’)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些基本的思路: 1. 首先,您需要安装PythonSelenium库。可以通过pip命令进行安装。 2. 然后,您需要获取虎扑网的cookie。可以使用浏览器开发者工具在虎扑网站上手动获取cookie,也可以使用Python代码自动获取。 3. 接下来,您可以使用Selenium库打开虎扑网站,并在浏览器中添加cookie信息。 4. 在浏览器中模拟用户操作,例如输入搜索关键词、点击按钮等。 5. 最后,您可以使用Selenium库获取网页源代码或特定元素的信息,以便于后续的测试分析。 以下是一个示例代码,可以供您参考: ```python from selenium import webdriver # 设置浏览器选项 options = webdriver.ChromeOptions() options.add_argument('user-data-dir=cookies') # 添加cookie目录 # 打开浏览器,并添加cookie信息 driver = webdriver.Chrome(options=options) driver.get('https://www.hupu.com/') driver.add_cookie({'name': 'cookie_name', 'value': 'cookie_value'}) # 模拟用户操作 search_box = driver.find_element_by_id('search-box') search_box.send_keys('test') search_button = driver.find_element_by_id('search-button') search_button.click() # 获取网页源代码或特定元素的信息 page_source = driver.page_source results = driver.find_elements_by_xpath('//div[@class="result"]') # 关闭浏览器 driver.quit() ``` 希望这个示例代码能够帮助到您。如果您有任何问题或需要进一步的帮助,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值