自动化测试面试官:登录或注册时有验证码怎么处理?OCR图像识别技术大揭秘!
本节大纲
读取cookie实现免登陆
pytesseract+tesseract-ocr实现图像识别
Pillow库对验证码截图
API接口实现图像识别
今天的这个技术点,为什么要给大家分享一下呢?
我相信在面试的时候,可能有小伙伴去面自动化或者测开岗位,就会有很大的几率遇到这样子的问题:你在做自动化的时候,验证码你是怎么处理的呢?
做自动化的时候,大家都知道验证码是比较麻烦的东西,我们去做自动化的时候就会希望开发把验证码屏蔽,或者说先把验证码这个功能取消掉。等我们做完自动化之后,再手工去进行测试,你在前面的一些调试版本的时候是OK的,但是如果是在后面正式/预上线版本,不可能让开发把验证码一直去屏蔽吧?
今天就是给大家来讲一下,遇到验证码这一类问题,我们应该如何去处理?
验证码处理
面试问题:登录或注册时有验证码怎么处理?
1.跟开发沟通,让开发屏蔽验证码,对于验证码进行手工测试--》测试环境
2.跟开发沟通,让开发设置万能验证码,便于自动化测试
3.手机+短信验证码―--》连接数据库,数据库表中﹐会: 1不会: 0断言:根据数据库
4.用自动化脚本实现验证码识别--用技术的方式来解决
cookie--实现免登陆 接口测试: cookie(本地缓存-用户名+密码) -session token auth -->http无响应
图像识别--识别率不能达到100%
可能你进到公司,发现他们用到的可能就是第一种方式,也不会让你去用到第三种第四种,但是面试官考验的就是你有没有这方面的技术积累。
验证码处理
在对截图进行识别:
方式一: pytesseract+tesseract-ocr
方式二:调用第三方接口来识别
OCR环境配置
方式一: pytesseract+tesseract-ocr;
需要的第三方库: pytesseract、tesseract-ocr,在使用pytesseract之前,必须安装
tesseract-ocr,因为pytesserat依赖于tesseract-ocr,否则无法使用
pytesseract安装: pip install pytesseract

想要环境搭建安装指导文件的小伙伴【公号:程序员一凡】
【自动化拦路虎之验证码】OCR图像识别技术大揭秘(实战操作视频版详解教程)

自动化测试面试官:登录或注册时有验证码怎么处理?OCR图像识别技术大揭秘!的更多相关文章
- 引用面试官文章 :如何准备Java初级和高级的技术面试
本人最近几年一直在做java后端方面的技术面试官,而在最近两周,又密集了面试了一些java初级和高级开发的候选人,在面试过程中,我自认为比较慎重,遇到问题回答不好的候选人,我总会再三从不同方面提问,只 ...
- 学会了这些redis知识点,面试官会觉得你很nb(转自十年技术大牛)
是数据结构而非类型 很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义.redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们 ...
- 大厂面试官:Java工程师的“十项全能”
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
[JAVA秒会技术之秒杀面试官]秒杀Java面试官——集合篇(一) [JAVA秒会技术之秒杀面试官]JavaEE常见面试题(三) http://blog.csdn.net/qq296398300/ar ...
- Django实战(一)-----用户登录与注册系统5(图片验证码)
为了防止机器人频繁登录网站或者破坏分子恶意登录,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是一种区分用户是计算机还是人的公共全自动程序. 可以防止恶意破解密码.刷票.论坛 ...
- 关于ecshop的mobile里user.php登录和注册验证码不显示
在做ecshop模板的时候由于user.php里的登录和注册是在一个页面里切换的,这就致使这里的登录和注册里的验证码不显示 找到mobile/themesmobile/ecshoptemplate_m ...
- Django登录(含随机生成图片验证码)注册实例
登录,生成随机图片验证码 一.登录 - 随机生成图片验证码 1.随机生成验证码 Python随机生成图片验证码,需要使用PIL模块,安装方式如下: pip3 install pillow 1)创建图片 ...
- 【我给面试官画饼】Python自动化测试面试题精讲
那今天给家分享的是一个面试主题. 就比如说我们的自动化测试,自动化如何去应对面试官,和面试官去聊一聊自动化的心得,自动化你现在去面试的时候是一个非常重要的一个关键点,所以如果你在这方面有一定的心得.那 ...
- 【测试工程师面试】在BOSS直聘上和面试官的一问一答
岗位描述: 信用卡核心系统功能测试,负责测试计划制定,测试设计,测试执行,测试进度掌控,自动化工具建设等工作.有责任心,执行力强,工作认真细致,逻辑思维强熟悉linux,oracle或者IBM大型机操 ...
随机推荐
- 数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳
互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需要我来考虑,虽然我们没 ...
- 平方十位数(蓝桥杯第八届国赛真题 JAVA-B组)
思路:从大到小枚举,判断其平方是否不重复 答案:9814072356 //水题 标题:平方十位数 由0~9这10个数字不重复.不遗漏,可以组成很多10位数字. 这其中也有很多恰好是平方数(是某个数的平 ...
- 4、MyBatis教程之配置解析
5.配置解析 核心配置文件 mybatis-config.xml 系统核心配置文件 MyBatis 的配置文件会深深影响 MyBatis 行为的设置和属性信息. 能配置的内容如下: configura ...
- Django使用数据库(配置数据库,基本的增删改查a)
第一步在setting文件中配置DATABASES设置 然后更改__init__文件 打开APP中models文件,导入并创建数据库 最后打开终端执行以下命令 python manage.py mak ...
- java例题_29 二维数组问题,并输出对角线之和
1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...
- 从阿里云迁移分布式redis实例到华为云解决方案(详细)
如果要换多数是经济因素啦- 一. 准备工作 先在华为云上买一台redis数据库,配置一定要注意多数要保持一致,至于4.0还是5.0倒问题不大亲测兼容 可用区要找现有ECS云主机中的相同的机器.记下:这 ...
- [BFS]最优乘车
最优乘车 题目描述 HH 城是一个旅游胜地,每年都有成千上万的人前来观光.为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴上线路.每条单程巴士线路从某个巴士站出发,依 ...
- 【解决】Could not GET 'https://maven.google.com
现象 解决方案 1. 由于Google被墙导致的问题 参考 配置阿里云源修改maven的源地址. 2. 由于错误配置代理导致的问题(提示400) 查看工程目录下的gradle.properties和C ...
- .NET管道应用——工作池
名词解释 工作池:一组等待任务分配的线程.一旦完成了所分配的任务,这些线程可继续等待任务的分配. .NET管道:命名空间System.Threading.Channels中的Channel和Chann ...
- MVVM框架理解
MVC框架 将整个前端页面分成View,Controller,Modal,视图上发生变化,通过Controller(控件)将响应传入到Model(数据源),由数据源改变View上面的数据. 整个过程看 ...