一种滑块验证方法、装置及计算机可读存储介质与流程

文档序号:18939917发布日期:2019-10-23 01:04阅读:155来源:国知局
一种滑块验证方法、装置及计算机可读存储介质与流程

本发明实施例涉及计算机技术领域,尤指一种滑块验证方法、装置及计算机可读存储介质。



背景技术:

随着互联网技术的发展,图形验证越来越容易破解,因此滑块验证应运而生。滑块验证在实际应用前要进行大量测试。

相关技术中,测试过程往往采用人工方式将缺口图片移动至缺口位置以进行滑块验证。

然而,这种方法完全依靠人工方式进行,因此测试效率十分低下。



技术实现要素:

本发明实施例提供了一种滑块验证方法、装置及计算机可读存储介质,能够实现滑块自动化验证,提高滑块验证的测试效率。

为了达到本发明实施例的目的,本发明实施例提供了一种滑块验证方法,包括:

服务器根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置;其中,在所述缺口所在位置处补充与所述缺口对应的缺口图片后的第二图片与所述第一图片相同;

所述服务器模仿人为滑动方式将所述缺口图片从初始位置滑动到所述缺口所在位置,以进行滑块验证。

所述服务器模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,包括:

所述服务器计算所述初始位置与所述缺口所在位置之间的目标滑动距离;

所述服务器根据所述目标滑动距离和预设滑动次数m获取单次标准滑动距离;

所述服务器根据所述单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于所述目标滑动距离;

所述服务器根据所述目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间;其中,所述m-1次滑动停顿时间是m次单次滑动之间的m-1次滑动停顿的时间;

所述服务器按照m次单次滑动距离和m-1次滑动停顿时间将所述缺口图片从所述初始位置滑动到所述缺口所在位置。

所述第一预设距离波动范围包括:(-a1,a2),其中,a1和a2为正整数;

所述服务器根据单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于目标滑动距离,包括:

所述服务器从所述第一预设距离波动范围中获取数值总和为0的m个第一数值;

所述服务器依次对获得的第i个第一数值进行如下操作:

根据获得的第i个第一数值和所述单次标准滑动距离获取第i次单次滑动距离;其中,i=1、2…m。

所述服务器根据目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间,包括:

所述服务器根据所述目标滑动距离和所述预设滑动速度获取所述缺口图片如果在滑动过程中不停顿滑动至所述缺口所在位置所需的目标滑动时间;

所述服务器根据所述目标滑动时间和所述预设滑动时间获取目标停顿时间;

所述服务器根据所述目标停顿时间和滑动停顿次数m-1次获取单次标准滑动停顿时间;

所述服务器根据所述单次标准滑动停顿时间和第一预设时间波动范围获取m-1次单次滑动停顿时间。

所述第一预设时间波动范围包括:(-b1,b2),其中,b1和b2为正整数;

所述服务器根据单次标准滑动停顿时间和第一预设时间波动范围获取m-1次单次滑动停顿时间,包括:

所述服务器从所述第一预设时间波动范围中选择数值总和为0的m-1个第二数值;

所述服务器依次对获得的第j个第二数值进行如下操作:

根据获得的第j个第二数值和所述单次标准滑动停顿时间获取第j次单次滑动停顿时间;其中,j=1、2…m-1。

所述服务器按照m次单次滑动距离和m-1次滑动停顿时间将缺口图片从初始位置滑动到缺口所在位置,包括:

所述服务器按照m次单次滑动距离以及m-1次滑动停顿时间将所述缺口图片从初始位置以纵向移动距离不超过第二预设距离范围的随机移动方式将所述缺口图片从所述初始位置滑动到所述缺口所在位置。

本发明实施例还提供一种服务器,包括:

获取模块,用于根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置;其中,在所述缺口所在位置处补充与所述缺口对应的缺口图片后的第二图片与所述第一图片相同;

处理模块,用于模仿人为滑动方式将所述缺口图片从初始位置滑动到所述缺口所在位置,以进行滑块验证。

所述处理模块具体用于:

计算所述初始位置与所述缺口所在位置之间的目标滑动距离;

根据所述目标滑动距离和预设滑动次数m获取单次标准滑动距离;

根据所述单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于所述目标滑动距离;

根据所述目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间;其中,所述m-1次滑动停顿时间是m次单次滑动之间的m-1次滑动停顿的时间;

按照m次单次滑动距离和m-1次滑动停顿时间将所述缺口图片从所述初始位置滑动到所述缺口所在位置。

本发明实施例还提供一种滑块验证装置,包括:处理器和存储器,其中,存储器中存储有以下可被处理器执行的命令:

根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置;其中,在所述缺口所在位置处补充与所述缺口对应的缺口图片后的第二图片与所述第一图片相同;

模仿人为滑动方式将所述缺口图片从初始位置滑动到所述缺口所在位置,以进行滑块验证。

本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机可执行命令,所述计算机可执行命令用于执行以下步骤:

根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置;其中,在所述缺口所在位置处补充与所述缺口对应的缺口图片后的第二图片与所述第一图片相同;

模仿人为滑动方式将所述缺口图片从初始位置滑动到所述缺口所在位置,以进行滑块验证。

由于服务器根据未包含缺口的第一图片和包含缺口的第二图片获取了缺口所在位置,并模仿人为滑动方式将所述缺口图片从初始位置滑动到所述缺口所在位置,以进行滑块验证,因此实现了滑块自动化验证,从而极大程度地节省了人力成本,提高了滑块验证的测试效率。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。

图1为本发明实施例提供的一种滑块验证方法的流程示意图;

图2为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供一种滑块验证方法,如图1所示,该方法包括:

步骤101、服务器根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置。

其中,在缺口所在位置处补充与缺口对应的缺口图片后的第二图片与第一图片相同。

在一种示例性实施例中,服务器根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置之前,还包括:

安装功能自动化测试工具selenium自动化测试环境,以nodejs为例,安装node.js、浏览器驱动chromedriver和web驱动selenium-webdriver,然后编写webdriver脚本打开带有滑块验证码验证的页面。

步骤102、服务器模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,以进行滑块验证。

在一种示例性实施例中,缺口所在位置是缺口位于第二图片中的所在位置,当缺口形状确定时,缺口所在位置可以表示为缺口形状边沿的某个点所在位置,例如当缺口为正方形时,缺口所在位置可以表示为正方形缺口的左上角或右上角所在位置。

在一种示例性实施例中,服务器模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,包括:

步骤201、服务器计算初始位置与缺口所在位置之间的目标滑动距离。

步骤202、服务器根据目标滑动距离和预设滑动次数m获取单次标准滑动距离。

在一种示例性实施例中,服务器将目标滑动距离处以预设滑动次数m得到单次标准滑动距离。

步骤203、服务器根据单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于目标滑动距离。

步骤204、服务器根据目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间。

其中,m-1次滑动停顿时间是m次单次滑动之间的m-1次滑动停顿的时间。

在一种示例性实施例中,预设滑动时间是指从初始位置到达缺口所在位置一共所消耗的时间。

在一种示例性实施例中,第一预设距离波动范围包括:(-a1,a2),其中,a1和a2为正整数。服务器根据单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于目标滑动距离,包括:

步骤301、服务器从第一预设距离波动范围中获取数值总和为0的m个第一数值。

步骤302、服务器依次对获得的第i个第一数值进行如下操作:

根据获得的第i个第一数值和单次标准滑动距离获取第i次单次滑动距离;其中,i=1、2…m。

在一种示例性实施例中,服务器将获得的第i个第一数值和单次标准滑动距离相加,得到第i次单次滑动距离。

在一种示例性实施例中,滑动距离的单位可以是厘米,也可以像素。

在一种示例性实施例中,相邻两次的单次滑动距离差值可以在5像素内,即a1+a2=5像素。

在一种示例性实施例中,目标滑动距离与m次单次滑动距离总和相等。

在一种示例性实施例中,服务器根据目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间,包括:

步骤401、服务器根据目标滑动距离和预设滑动速度获取缺口图片如果在滑动过程中不停顿滑动至缺口所在位置所需的目标滑动时间。

步骤402、服务器根据目标滑动时间和预设滑动时间获取目标停顿时间。

在一种示例性实例中,预设滑动时间不宜太长也不宜太短,控制在1-5秒之内。

在一种示例性实例中,服务器将预设滑动时间减去目标滑动时间目标停顿时间。

步骤403、服务器根据目标停顿时间和滑动停顿次数m-1次获取单次标准滑动停顿时间。

步骤404、服务器根据单次标准滑动停顿时间和第一预设时间波动范围获取m-1次单次滑动停顿时间。

在一种示例性实施例中,目标停顿时间与m-1次单次滑动停顿时间总和相等。

在一种示例性实施例中,第一预设时间波动范围包括:(-b1,b2),其中,b1和b2为正整数。服务器根据单次标准滑动停顿时间和第一预设时间波动范围获取m-1次单次滑动停顿时间,包括:

步骤501、服务器从第一预设时间波动范围中选择数值总和为0的m-1个第二数值。

步骤502、服务器依次对获得的第j个第二数值进行如下操作:

根据获得的第j个第二数值和单次标准滑动停顿时间获取第j次单次滑动停顿时间;其中,j=1、2…m-1。

在一种示例性实施例中,服务器将获得的第j个第二数值和单次标准滑动停顿时间相加,得到第j次单次滑动停顿时间。

在一种示例性实施例中,停顿时间的单位可以是秒,也可以毫秒。

在一种示例性实施例中,单次滑动停顿时间可以在50ms以内。

在一种示例性实施例中,服务器按照m次单次滑动距离和m-1次滑动停顿时间将缺口图片从初始位置滑动到缺口所在位置,包括:

服务器按照m次单次滑动距离以及m-1次滑动停顿时间将缺口图片从初始位置以纵向移动距离不超过第二预设距离范围的随机移动方式将缺口图片从初始位置滑动到缺口所在位置。

本发明实施例提供的滑块验证方法,由于服务器根据未包含缺口的第一图片和包含缺口的第二图片获取了缺口所在位置,并模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,以进行滑块验证,因此实现了滑块自动化验证,从而极大程度地节省了人力成本,提高了滑块验证的测试效率。

本发明实施例提供一种服务器,如图2所示,该服务器2包括:

获取模块21,用于根据未包含缺口的第一图片和包含缺口的第二图片获取缺口所在位置;其中,在缺口所在位置处补充与缺口对应的缺口图片后的第二图片与第一图片相同。

处理模块22,用于模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,以进行滑块验证。

在一种示例性实例中,处理模块22具体用于:

计算初始位置与缺口所在位置之间的目标滑动距离。

根据目标滑动距离和预设滑动次数m获取单次标准滑动距离。

根据单次标准滑动距离和第一预设距离波动范围获取m次单次滑动距离,以使m次单次滑动距离的和等于目标滑动距离。

根据目标滑动距离、预设滑动速度和预设滑动时间获取m-1次滑动停顿时间;其中,m-1次滑动停顿时间是m次单次滑动之间的m-1次滑动停顿的时间。

服务器按照m次单次滑动距离和m-1次滑动停顿时间将缺口图片从初始位置滑动到缺口所在位置。

在一种示例性实例中,第一预设距离波动范围包括:(-a1,a2),其中,a1和a2为正整数。处理模块22具体还用于:

从第一预设距离波动范围中获取数值总和为0的m个第一数值。

依次对获得的第i个第一数值进行如下操作:

根据获得的第i个第一数值和单次标准滑动距离获取第i次单次滑动距离;其中,i=1、2…m。

在一种示例性实例中,处理模块22具体还用于:

根据目标滑动距离和预设滑动速度获取缺口图片如果在滑动过程中不停顿滑动至缺口所在位置所需的目标滑动时间。

根据目标滑动时间和预设滑动时间获取目标停顿时间。

根据目标停顿时间和滑动停顿次数m-1次获取单次标准滑动停顿时间。

根据单次标准滑动停顿时间和第一预设时间波动范围获取m-1次单次滑动停顿时间。

在一种示例性实例中,第一预设时间波动范围包括:(-b1,b2),其中,b1和b2为正整数。处理模块22具体还用于:

从第一预设时间波动范围中选择数值总和为0的m-1个第二数值。

依次对获得的第j个第二数值进行如下操作:

根据获得的第j个第二数值和单次标准滑动停顿时间获取第j次单次滑动停顿时间;其中,j=1、2…m-1。

在一种示例性实例中,处理模块22具体还用于按照m次单次滑动距离以及m-1次滑动停顿时间将缺口图片从初始位置以纵向移动距离不超过第二预设距离范围的随机移动方式将缺口图片从初始位置滑动到缺口所在位置。

在一种示例性实例中,人为将缺口图片滑动至缺口所在位置的过程中无法一直保持水平移动,而是会在纵向上有一定的移动,因此为了更好的模仿人为滑动方式,还可以以纵向移动距离不超过第二预设距离范围的随机移动方式将缺口图片从初始位置滑动到缺口所在位置。以第一次单次滑动距离的滑动方向为水平方向,后面m-1次单次滑动距离可以移动至相对于水平方向向上或向下的位置除,然后开始滑动。

在一种示例性实例中,第二预设距离范围可以为[-5,5],单位可以为像素。

本发明实施例提供的服务器,由于根据未包含缺口的第一图片和包含缺口的第二图片获取了缺口所在位置,并模仿人为滑动方式将缺口图片从初始位置滑动到缺口所在位置,以进行滑块验证,因此实现了滑块自动化验证,从而极大程度地节省了人力成本,提高了滑块验证的测试效率。

在实际应用中,所述获取模块21和处理模块22位于服务器2中的中央处理器(centralprocessingunit,cpu)、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本发明实施例还提供一种滑块验证装置,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,处理器执行计算机程序时实现上述实施例中任意一种文件检测方法。

本发明实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行命令,计算机可执行命令用于执行如上述实施例中任意一种滑块验证方法。

虽然本发明实施例所揭露的实施方式如上,但所述的内容仅为便于理解本发明实施例而采用的实施方式,并非用以限定本发明实施例。任何本发明实施例所属领域内的技术人员,在不脱离本发明实施例所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明实施例的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1