2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-CSDN博客
文章浏览阅读1.8k次,点赞82次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……
https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5501
UI自动化测试时,需要对验证码进行识别处理,有很多方式,每种方式都有自己的特点,以下是一些常用处理方法,仅供参考。
01 去掉验证码
-
从自动化的本质上来讲,主要是提升测试效率等,但是为了去研究验证码以及提升验证码的识别效率,是需要投入比较大的时间的;
-
去掉验证码无疑是最简单的方式,而且对于开发而言这样做,工作量也不是很大;
-
但是建议在测试环境使用,生产环境禁用,因为存在安全问题。
0
2 设置万能码
-
这个是笔者刚开始做自动化时首选的一个处理方法;
-
因为既测试到了验证码的功能,而且也不用投入太大的精力去研究如何进行验证码识别;
-
另外对于开发来说,内置一个万能验证码也是非常简单的事情;
-
对于写自动化脚本的人来说也是非常的方便,效率也高;
-
但这个万能验证码仅限相关人员知道,避免存在安全隐患。
0
3 保留一个资源
0
4 光学字符识别
-
其实就是通过Python-tesseract模块来只能识别图片中的验证码;
-
Python-tesseract是光学字符识别Tesseract OCR的python封装类;
-
其能够读取大部分常规图片文件,比如JPG、GIF、PNG、TIFF等;
-
这个笔者也尝试过,因为现在的图片验证码越来越复杂,其实有时候识别率并不高;
-
下边我们尝试着使用一下。
4.1 识别对象
我们收集了几个图片验证码(来源于网络,仅供参考):从左到右依次是image01.jpg-image04.jpg:
4.2 pytesseract安装
pip install pytesseract
4.3 Pillow安装
pip install Pillow
4.4 OCR安装
OCR官网
https://github.com/UB-Mannheim/tesseract/wiki
4.5 识别原理
-
基本思路是通过图片降噪、图片切割等,输出图像文本;
-
图片降噪就是将图片中一些不需要的信息去除,比如背景、干扰像素、干扰线等。
-
如果验证码是彩色的背景,其实就是把每个像素放在五维空间,即X、Y、R、G、B;
-
X、Y是像素的二维平面坐标,RGB代表像素所对应的颜色。
4.6 处理过程
4.6.1 转灰度处理
from PIL import Image
image = Image.open("./image01.jpg")
# 彩色转灰度
img_01 = image.convert("L")
img_01.show()
以上完整代码为(使用image01.jpg):
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/14
# 文件名称:test_tesseract.py
# 作用:OCR验证码识别
# 联系:VX
# 博客:https://blog.csdn.net/NoamaNelson
# 导入Image包
from PIL import Image
# 打开图像
image = Image.open("./image01.jpg")
# 彩色转灰度
img_01 = image.convert("L")
img_01.show()
4.6.2 二值化处理
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/14
# 文件名称:test_tesseract.py
# 作用:OCR验证码识别
# 联系:VX
# 博客:https://blog.csdn.net/NoamaNelson
# 导入Image包
from PIL import Image
# 打开图像
image = Image.open("./image02.jpg")
# 二值化处理
img_02 = image.point(lambda x:0 if x<143 else 255)
img_02.show()
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/14
# 文件名称:test_tesseract.py
# 作用:OCR验证码识别
# 联系:VX
# 博客:https://blog.csdn.net/NoamaNelson
# 导入Image包
from PIL import Image
from pytesseract import pytesseract
# 打开图像
image = Image.open("./image03.jpg")
# 灰度处理
img_new = image.convert("L")
# 二值化处理
img_03 = img_new.point(lambda x:0 if x<143 else 255)
img_03.show()
out_img = pytesseract.image_to_string(img_03)
print(out_img)
4.6.3 图像增强
from PIL import ImageEnhance
img_enh = ImageEnhance.Contrast(img_03)
img_enh01 = img_enh.enhance(4)
img_enh01 .show()
out_img = pytesseract.image_to_string(img_enh01)
4.6.4 完整代码
# 导入Image包
from PIL import Image
from pytesseract import pytesseract
from PIL import ImageEnhance
# 打开图像
image = Image.open("./image04.jpg")
# 灰度处理
img_new = image.convert("L")
# 二值化处理
img_04 = img_new.point(lambda x:0 if x<143 else 255)
# 图像增强
img_enh = ImageEnhance.Contrast(img_04)
img_enh01 = img_enh.enhance(4)
# 处理后图片
img_enh01.show()
# 提取图片文字
out_img = pytesseract.image_to_string(img_enh01)
print(out_img)
0
5 打码平台
06 记录cookie
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,
请及时加入群: 786229024
,里面有各种测试开发资料和技术可以一起交流哦。
最后:
下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取
【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。