一种验证码的测试方法、装置、终端设备及存储介质制造方法及图纸

技术编号:19009051 阅读:31 留言:0更新日期:2018-09-22 08:56
本发明专利技术涉及计算机技术领域,提供了一种验证码的测试方法、装置、终端设备及存储介质,所述测试方法包括:在自动化测试的过程中,若检测到待测试的验证码,则截取包含验证码的用户界面图片;获取所述验证码在所述用户界面图片中的位置信息;根据所述位置信息,从所述用户界面图片中截取所述验证码所在的验证码图片;对所述验证码图片进行图像处理,识别验证码信息;根据识别出的所述验证码信息,完成对所述验证码的自动化测试。本发明专利技术的技术方案实现了在自动化测试的框架下,完成对验证码的自动获取与识别,减少人工干预,提高测试准确性,同时也提高了自动化测试的效率。

Test method, device, terminal device and storage medium for verification code

The invention relates to the field of computer technology and provides a test method, device, terminal device and storage medium for a verification code. The test method includes: in the course of automatic test, if a verification code to be tested is detected, a user interface picture containing the verification code is intercepted; and the verification code is obtained in use. The position information in the user interface picture; according to the position information, the verification code picture in which the verification code is located is intercepted from the user interface picture; the verification code picture is processed to identify the verification code information; and the automatic test of the verification code is completed according to the identified verification code information. The technical scheme of the invention realizes automatic acquisition and identification of verification codes under the framework of automatic testing, reduces manual interference, improves test accuracy, and improves the efficiency of automatic testing.

【技术实现步骤摘要】
一种验证码的测试方法、装置、终端设备及存储介质
本专利技术涉及计算机
,尤其涉及一种验证码的测试方法、装置、终端设备及存储介质。
技术介绍
目前,很多应用(Application,APP)或者网页为了防止恶意脚本不断地尝试登录应用,在登录页面增加了验证码功能。验证码本质上是一张随机生成的小图片,脚本无法获取图片的内容,只能通过人工识别和输入,因此使用验证码可以防止恶意脚本登录应用。但是在软件的生产开发过程中,我们需要对软件进行测试,为了提高测试效率,往往需要引入自动化技术。而自动化脚本也与恶意脚本一样,无法获取验证码的内容,例如目前主流的appium、selenium等自动化测试工具都不能获取验证码内容。当前,为了能实现自动化测试,在开发过程中往往先把验证码的功能去掉,即只需要输入用户名和密码就可以登录,等自动化测试完成,在生产环节再加上验证码功能。这种方式一方面增加开发过程的工作量,另一方面也会导致在测试环节无法有效的模拟真实环境,并且无法对验证码功能进行测试,影响测试结果的准确性。若通过在测试过程中通过人工输入验证码的方式进行测试,也会降低自动化测试的效率。
技术实现思路
本专利技术实施例提供一种验证码的测试方法、装置、终端设备及存储介质,以解决目前在自动化测试框架下无法对验证码进行自动化测试导致测试结果的准确性不高以及自动化测试效率低下的问题。第一方面,本专利技术实施例提供一种验证码的测试方法,包括:在自动化测试的过程中,若检测到待测试的验证码,则截取包含所述验证码的用户界面图片;获取所述验证码在所述用户界面图片中的位置信息;根据所述位置信息,从所述用户界面图片中截取所述验证码所在的验证码图片;对所述验证码图片进行图像处理,识别验证码信息;根据识别出的所述验证码信息,完成对所述验证码的自动化测试。第二方面,本专利技术实施例提供一种验证码的测试装置,包括:检测模块,用于在自动化测试的过程中,若检测到待测试的验证码,则截取包含所述验证码的用户界面图片;获取模块,用于获取所述验证码在所述用户界面图片中的位置信息;截取模块,用于根据所述位置信息,从所述用户界面图片中截取所述验证码所在的验证码图片;识别模块,用于对所述验证码图片进行图像处理,识别验证码信息;测试模块,用于根据识别出的所述验证码信息,完成对所述验证码的自动化测试。第三方面,本专利技术实施例提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述测试方法的步骤。第四方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述测试方法的步骤。本专利技术实施例与现有技术相比具有如下优点:本专利技术实施例提供的验证码的测试方法、装置、终端设备及存储介质中,在自动化测试过程中,若检测到待测试的验证码,则截取包含该验证码的用户界面图片,获取该用户界面图片中验证码的位置信息,根据该位置信息对用户界面图片进行裁剪,得到验证码图片,再对该验证码图片进行图像处理,识别验证码信息,并根据识别出的验证码信息完成对验证码的自动化测试,实现了在自动化测试过程中对验证码的自动获取与识别,完成在自动化测试过程中自动输入验证码以及识别验证码的功能,从而有效的模拟真实环境,提高测试准确性,同时减少了人工干预,提高了自动化测试的效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例1中提供的验证码的测试方法的流程图;图2是本专利技术实施例1中提供的验证码的测试方法中步骤S2的实现流程图;图3是本专利技术实施例1中提供的验证码的测试方法中步骤S4的实现流程图;图4是本专利技术实施例1中提供的验证码的测试方法中步骤S44的实现流程图;图5是本专利技术实施例2中提供的验证码的测试装置的示意图;图6是本专利技术实施例4中提供的终端设备的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1请参阅图1,图1示出本实施例提供的验证码的测试方法的实现流程。该验证码的测试方法应用在自动化测试平台中,用于实现对验证码的自动获取与识别,完成验证码的自动化测试。详述如下:S1:在自动化测试的过程中,若检测到待测试的验证码,则截取包含验证码的用户界面图片。在本专利技术实施例中,待测试的验证码具体为图形验证码,由多种字符组合而成,在基于自动化测试框架的自动化测试过程中,若检测到当前测试环节存在待测试的图形验证码,则对包含该图形验证码的用户界面图片进行截屏操作。具体地,在对图片进行截屏操作时,利用自动化测试工具的截屏功能,对包含验证码的用户界面图片进行截取,并将截取后的图片保存到预先设定的路径下。S2:获取验证码在用户界面图片中的位置信息。具体地,通过对包含验证码的当前用户界面的内容进行遍历,获取验证码在当前用户界面对应的用户界面图片中的位置信息。具体遍历方式可以是在当前用户界面的内容中查找“验证码”关键字,根据查询到的“验证码”关键字的位置确定验证码在用户界面图片中的位置信息,还可以是在当前用户界面的内容中查找验证码元素的描述信息,根据查询到的验证码元素的描述信息获取验证码在用户界面图片的位置坐标,进而得到验证码在用户界面图片中的位置信息。S3:根据位置信息,从用户界面图片中截取验证码所在的验证码图片。具体地,从步骤S1预先设定的路径中提取保存的用户界面图片,根据步骤S2得到的验证码的位置信息,从用户界面图片中截取验证码图片,并将该验证码图片保存在预设的保存路径下。例如:在自动化测试框架appium中,可通过直接调用javaximageio函数,将得到的验证码的位置信息作为javaximageio函数的传入参数,得到截取后的验证码图片。S4:对验证码图片进行图像处理,识别验证码信息。在本专利技术实施例中,验证码信息是指验证码图片上的字符信息,通过对验证码图片进行图像处理,识别验证码图片上的验证码信息。具体地,对验证码图片进行图像处理的具体过程可以包括:首先对验证码图片进行灰度化处理和二值化处理,得到二值化图像,然后扫描二值化图像进行字符分割得到单个字符图像,再对单个字符图像进行字符识别,得到目标字符,最后将识别出的目标字符组成验证码信息。S5:根据识别出的验证码信息,完成对该验证码的自动化测试。具体地,将步骤S4识别出的验证码信息自动输入到验证码输入框中,完成对待测试的验证码的自动化测试。在图1对应的实施例中,在基于自动化测试框架的自动化测试过程中,若检测到待测试的验证码,则截取包含该验证码的用户界面图片,并获取该验证码在用户界面图片中的位置信息,通过该位置信息对用户界面图片进行截屏处理,得到验证码图片,接着对该验证码图片进行图像处理,提取验证码信息,最后自动输入本文档来自技高网...
一种验证码的测试方法、装置、终端设备及存储介质

【技术保护点】
1.一种验证码的测试方法,其特征在于,所述测试方法包括:在自动化测试的过程中,若检测到待测试的验证码,则截取包含所述验证码的用户界面图片;获取所述验证码在所述用户界面图片中的位置信息;根据所述位置信息,从所述用户界面图片中截取所述验证码所在的验证码图片;对所述验证码图片进行图像处理,识别验证码信息;根据识别出的所述验证码信息,完成对所述验证码的自动化测试。

【技术特征摘要】
1.一种验证码的测试方法,其特征在于,所述测试方法包括:在自动化测试的过程中,若检测到待测试的验证码,则截取包含所述验证码的用户界面图片;获取所述验证码在所述用户界面图片中的位置信息;根据所述位置信息,从所述用户界面图片中截取所述验证码所在的验证码图片;对所述验证码图片进行图像处理,识别验证码信息;根据识别出的所述验证码信息,完成对所述验证码的自动化测试。2.如权利要求1所述的测试方法,其特征在于,所述获取所述验证码在所述用户界面图片中的位置信息包括:将包含所述验证码的用户界面的内容转换为目标文档;根据验证码元素的名称对所述目标文档进行遍历,获取所述验证码元素的描述信息;从所述描述信息中提取所述验证码的位置信息。3.如权利要求1所述的测试方法,其特征在于,所述对所述验证码图片进行图像处理,识别验证码信息包括:对所述验证码图片进行灰度化处理,获取灰化图像;对所述灰化图像进行二值化处理,得到二值化图像;对所述二值化图像进行字符分割,获取单个字符图像;按照预设的字符识别方式识别每个所述单个字符图像中的字符;将识别出的每个所述字符组成验证码信息。4.如权利要求3所述的测试方法,其特征在于,所述按照预设的字符识别方式识别每个所述单个字符图像中的字符包括:根据预设的字符特征模板的定义,对每个所述单个字符图像进行特征解析,获取该单个字符图像对应的目标字符特征;针对每个所述单个字符图像,计算该单个字符图像对应的目标字符特征与预设的字符库中的标准字符特征之间的特征相似度,将所述特征相似度最大的标准字符特征对应的标准字符作为该单个字符图像的字符,其中,所述字符库包括预设的标准字符及其对应的标准字符特征。5.如权利要求1所述的测试方法,其特征在于,所述根据识别出的所述验证码信息,完成对所述验证码的自动化测试包括:将识别出的所述验证码信息自动输入到验证码输入框中...

【专利技术属性】
技术研发人员:张涛
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1