对于web应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性。但对于测试人员来说,不管是进行性能测试还是自动化测试都是一个棘手的问题。

下面来谈一下处理验证码的几种方法。

去掉验证码

  这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦,如果自动化脚本是要在正式环境跑,这样就给系统带来了一定的风险。

设置万能码

  去掉验证码的主要是安全问题,为了应对在线系统的安全性威胁,可以在修改程序时不取消验证码,而是程序中留一个“后门”---设置一个“万能验证码”,只要用户输入这个“万能验证码”,程序就认为验证通过,否则按照原先的验证方式进行验证。

运行结果:

random

random用于生成随机数

randint()

randint()方法用于生成随机整数,传递的两个参数分别是随机数的范围,randint(1000,9999)第二个参数要大于第一个参数。

我们要求用户输入随机数,并且对用户输入做判断,如果等于生成的随机数那么,登录成功,如果等于1111也算登录成功,否则失败。那么等于1111的判断就是一个万能码。

验证码识别技术

  例如可以通过Python-tesseract 来识别图片验证码,Python-tesseract是光学字符识别Tesseract OCR引擎的Python封装类。能够读取任何常规的图片文件(JPG, GIF ,PNG , TIFF等)。不过,目前市面上的验证码形式繁多,目前任何一种验证码识别技术,识别率都不是100% 。

记录cookie

(适用于UI自动化测试,且目前在大部应用的用户名密码不记录在cookie 或 进行加密处理。)

  通过向浏览器中添加cookie 可以绕过登录的验证码,这是比较有意思的一种解决方案。我们可以在用户登录之前,通过add_cookie()方法将用户名密码写入浏览器cookie ,再次访问系统登录链接将自动登录。例如下面的方式:

使用cookie进行登录最大的难点是如何获得用户名密码的name ,如果找到不到name 的名字,就没办法向value 中输用户名、密码信息。

我建议是可以通过get_cookies()方法来获取登录的所有的cookie信息,从而进行找到用户名、密码的name 对象的名字;当然,最简单的方法还是询问前端开发人员。

◆来源:图文来自网络,如有侵权请联系删除

自动化测试碰到验证码,怎么办?相关推荐

  1. 自动化测试解决验证码问题

    现在的很多网站在登陆时都需要验证码,倘若遇到自动化测试时,怎么解决呢? 验证码大概有以下几种: 有的是图片验证码:图片上显示数字,汉字,英文数字以及算术题等: 有短信/邮箱发送验证码:一般为四位/六位 ...

  2. python自动输入验证码_python下的自动化测试--selenium 验证码输入问题

    之前一直在研究scrapy下数据抓取,在研究ajax数据抓取时碰巧研究了一下selenium,确实很实用,不过只做scrapy下的数据抓取,不怎么合适,一是性能的损耗,一直需要开一个浏览器,二是对于爬 ...

  3. 自动化测试难题,验证码如何解决

    一.去掉验证码 这是最简单的解决方案, 对于开发人员来说, 只是将验证码的相关代码注释掉就行, 但这种方案只能在测试环境下进行, 在线上环境下会对系统产生一定的风险. 二.设置万能验证码 去掉验证码会 ...

  4. 自动化测试识别验证码方法

    在进行自动化测试,我发现很多人卡在验证码无法是识别的路上,往往都是需要开发提供万能码或者取消验证码,但是有的时候需要真实场景模拟,验证码的获取就比较困难,今天分享一个自己亲测的UI自动化测试登陆时验证 ...

  5. 自动化测试--20验证码识别

    1.验证码的目的:就是为阻止通过代码自动登录 2.验证码的解决方法: 1)通过第三方工具识别验证码 2)通过第三方网站识别验证码-人工识别 3)通过万能验证码的方式-为了做自动化测试 4)可以屏蔽掉验 ...

  6. web自动化测试-绕过验证码登录

    手动绕过登录界面,使用工具:python+Fidder 1.以百度登录界面为例 登录前先进行抓包,记录下cookie的值 2.再进行手动登录,输入用户名和密码,点击登录,登录后,点击记住密码 再次进行 ...

  7. python登录验证码生成及自动化测试规避

    在用django写论坛的时候,需要有登录及注册功能. 故就登录界面后端需要生成随机验证码并传值给前端的代码进行编写如下. 验证码生成png需要调用到python的图形库 生成注册码img import ...

  8. 浅谈自动化测试中的验证码处理方法小总结

    今天跟大家聊一聊自动化测试中的验证码处理方法一些小总结,希望对你们有帮助,有说的不好的地方,还请多多指教! 目前,不少网站在用户登录.用户提交信息登登录和输入的页面上使用了验证码技术.验证码技术可以有 ...

  9. 【自动化测试】web自动化测试验证码如何测?如何处理验证码问题?解决方案......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

最新文章

  1. python雷达图详解_python的matplotlib---雷达图
  2. OOCSS——概念篇
  3. Hadoop服务器集群安装部署及配置
  4. drcom linux怎么运行,Drcom_linux
  5. Linux下弹出CDROM的程序(参考网上程序)
  6. 信息系统项目管理08——项目质量管理
  7. 使用gdaldem生成山体阴影——thematicmapping.org译文(二)
  8. saga中的saga(A Saga on Sagas) - balavatasky - 博客园
  9. Java程序设计基础——cmd编译运行java文件详细步骤
  10. 小米路由插件二维码2020_入门级Mesh首选?华来小方Mesh路由深度解析
  11. 中职生c语言搜题软件,适合法考学生用的搜题软件,这几款帮你搞定!
  12. java servlet继承_servlet继承什么类
  13. 关于微信投票活动存在微信人工刷票数的情况解析
  14. 75---Python绘制动态狄拉克delta函数
  15. 微信聊天记录如何恢复
  16. mac下展示隐藏文件
  17. 同样的互联网大环境下,你连工作都找不到,年薪该拿60w的程序员他还是能拿到?差距到底在哪里!
  18. 【MySQL】事务管理
  19. 【转】关于IE7 z-index问题完美解决方案
  20. 科大星云诗社动态20220105

热门文章

  1. 调试器工作原理之三——调试信息
  2. 带哨兵节点的链_深入学习Redis高可用架构:哨兵原理及实践
  3. 另一种持续集成工具Bamboo
  4. 分布式session和单点登录的区别
  5. CVPR2020 论文开源项目合集含源码
  6. 【格式转换程序软件集】---[A2B]---集中收集-不断更新[2008-3-29] 软件 软件 杭州志彬电脑维修网
  7. 新享科技签约京微齐力,UniPro全方位助力国产FPGA研发管理
  8. 思维导图是什么?思维导图有什么用?
  9. python爬虫程序详解_Python网络爬虫之三种数据解析方式
  10. 爬虫百战穿山甲(总部)