动态键盘操作方法、装置、存储介质及电子设备与流程

文档序号:17660176发布日期:2019-05-15 22:19阅读:427来源:国知局

本公开涉及自动化测试技术领域,具体地,涉及一种动态键盘操作方法、装置、存储介质及电子设备。



背景技术:

随着互联网的大规模应用,网上银行、电子商务等业务已经融入我们的生活,但信息技术的高速发展也带来了信息安全隐患,例如用户在使用网上银行或网购系统时,账号及口令被盗事件屡见不鲜。为了有效保护用户信息安全,动态键盘技术应运而生。

在现有技术中,对于ui自动化测试一般通过控件属性进行定位,并模拟各种操作,以达到自动执行测试的目的。然而,出于用户信息安全的考虑,应用的密码输入一般采用动态键盘,由于该键盘上各字符键位分布随机,因而利用传统的ui自动化测试工具无法对动态键盘进行自动测试。



技术实现要素:

本公开的目的是提供一种动态键盘操作方法、装置、存储介质及电子设备,用于解决利用现有技术难以对动态键盘进行自动化测试的技术问题。

为了实现上述目的,本公开第一方面提供一种动态键盘操作方法,应用于具有触摸屏的电子设备,所述电子设备中存储有所有按键的基准特征值,所述方法包括:

在所述电子设备发生预设的触发事件时,获取所述动态键盘在当前显示界面的位置信息;

根据所述位置信息分割所述动态键盘的图像,得到多个按键的字符图像,其中,所述字符图像携带对应按键的定位标记;

计算每一字符图像的特征值;

若所述字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像;

按照所述目标字符图像的定位标记执行点击操作。

可选地,所述根据所述位置信息分割所述动态键盘的图像,得到多个按键的字符图像,包括:

根据所述位置信息截取所述动态键盘的图像;

将所述动态键盘的图像按照按键边界进行分割,以得到多个按键的字符图像。

可选地,所述计算每一字符图像的特征值,包括:

计算所述字符图像所有像素点的灰度值;

根据每一所述像素点的灰度值与预设灰度均值的大小关系,确定每一字符图像的特征值。

可选地,通过如下公式计算所述预设灰度均值ahash:

其中,(x,y)表示任一像素点的坐标,g(x,y)表示坐标为(x,y)的像素点的灰度值,w、h分别表示所述动态键盘的图像的水平像素和垂直像素。

本公开第二方面提供一种动态键盘操作装置,所述装置包括:

获取模块,用于在所述电子设备发生预设的触发事件时,获取所述动态键盘在当前显示界面的位置信息;

分割模块,用于根据所述位置信息分割所述动态键盘的图像,得到多个按键的字符图像,其中,所述字符图像携带对应按键的定位标记;

计算模块,用于计算每一字符图像的特征值;

确定模块,用于若所述字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像;

操作模块,用于按照所述目标字符图像的定位标记执行点击操作。

可选地,所述分割模块包括:

截取子模块,用于根据所述位置信息截取所述动态键盘的图像;

分割子模块,用于将所述动态键盘的图像按照按键边界进行分割,以得到多个按键的字符图像。

可选地,所述计算模块包括:

计算子模块,用于计算所述字符图像所有像素点的灰度值;

确定子模块,用于根据每一所述像素点的灰度值与预设灰度均值的大小关系,确定每一字符图像的特征值。

可选地,所述计算模块用于通过如下公式计算所述预设灰度均值ahash:

其中,(x,y)表示任一像素点的坐标,g(x,y)表示坐标为(x,y)的像素点的灰度值,w、h分别表示所述动态键盘的图像的水平像素和垂直像素。

本公开第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的动态键盘操作方法的步骤。

本公开第四方面提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的动态键盘操作方法的步骤。

根据上述技术方案,在电子设备发生预设的触发事件时,获取动态键盘在当前显示界面的位置信息,并根据该位置信息对动态键盘进行图像分割,以得到各个字符图像及定位标记,然后计算每一字符图像的特征值,在对动态键盘执行自动测试时,欲操作哪一目标按键,则将目标按键的基准特征值与所有字符图像的特征值进行逐一匹配,若某一字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像,进而根据目标字符图像携带的定位标记执行点击操作,即可完成动态键盘的键位识别与自动测试过程。采用本公开提供的方案,通过将目标按键的基准特征值与所有字符图像的特征值进行逐一匹配的方式,可以精准确定目标按键在动态键盘中的位置,进而完成对动态键盘执行自动化测试的操作,解决了利用现有技术难以对动态键盘进行自动化测试的技术问题,提高了动态键盘的测试效率。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开实施例提供的一种动态键盘操作方法的流程图;

图2是本公开实施例提供的另一种动态键盘操作方法的流程图;

图3是本公开实施例提供的一种动态键盘操作装置的框图;

图4是本公开实施例提供的一种动态键盘操作装置的分割模块的框图;

图5是本公开实施例提供的一种动态键盘操作装置的计算模块的框图;

图6是本公开实施例提供的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

为了解决利用现有技术难以对动态键盘进行自动化测试的技术问题,本公开实施例提供一种动态键盘操作方法、装置、存储介质及电子设备,下面结合具体实施例对本公开提供的技术方案进行详细说明。

图1是本公开实施例提供的一种动态键盘操作方法的流程图,应用于具有触摸屏的电子设备,如图1所示,该方法包括以下步骤:

s11、在电子设备发生预设的触发事件时,获取动态键盘在当前显示界面的位置信息。

其中,预设的触发事件可以是检测到键盘功能开启,或者检测到需要对动态键盘进行自动化测试的信号。在电子设备发生上述任一预设的触发事件时,获取动态键盘在当前应用显示界面的位置信息,由于不同型号手机的分辨率不同,可以获取动态键盘左上角和右下角对于手机屏幕的相对位置,以确定动态键盘的显示范围。例如,手机屏幕分辨率为480×800,动态键盘的左上角的坐标为(0,584),右下角坐标为(480,800)。

s12、根据位置信息分割动态键盘的图像,得到多个按键的字符图像。

根据动态键盘的位置信息截取动态键盘图像,并将该动态键盘图像按数字键平均分割成多个小图片,若该动态键盘包括其他复杂字符,则按照键盘字符边界进行分割,以得到多个按键的字符图像。值得说明的是,分割得到的每一字符图像携带该字符图像所对应的按键的定位标记,通过定位标记可以确定按键在当前动态键盘中的相对位置。

s13、计算每一字符图像的特征值。

其中,字符图像的特征值为可以确定字符图像的标识信息,例如字符图像的熵,像素的灰度均值、中值、方差等信息。

s14、若字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像。

示例地,电子设备中存储有所有按键的基准特征值,在电子设备执行ui自动化测试操作时,确定要输入的具体按键的基准特征值,然后与每一字符图像的特征值进行逐一对比,若某一字符图像的特征值与要输入的具体按键的基准特征值一致,则该字符图像为目标字符图像,该字符图像对应的定位标记为目标按键在当前动态键盘上的相应位置。例如,欲输入的按键为数字键6,该按键的基准特征值为灰度均值147,字符图像1、字符图像2……字符图像9的灰度均值分别为133、147……204,那么,字符图像2为目标字符图像,字符图像2携带的定位标记(534,656)为数字键6在当前动态键盘上的相应位置。

s15、按照目标字符图像的定位标记执行点击操作。

根据目标字符图像的定位标记确定点击操作的执行范围,并执行点击操作,以完成动态键盘的自动化测试。

根据上述技术方案,在电子设备发生预设的触发事件时,获取动态键盘在当前显示界面的位置信息,并根据该位置信息对动态键盘进行图像分割,以得到各个字符图像及定位标记,然后计算每一字符图像的特征值,在对动态键盘执行自动测试时,欲操作哪一个目标按键,则将目标按键的基准特征值与所有字符图像的特征值进行逐一匹配,若某一字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像,进而根据目标字符图像携带的定位标记执行点击操作,即可完成动态键盘的键位识别与自动测试过程。采用本公开提供的方案,通过将目标按键的基准特征值与所有字符图像的特征值进行逐一匹配的方式,可以精准确定目标按键在动态键盘中的位置,进而完成对动态键盘执行自动化测试的操作,解决了利用现有技术难以对动态键盘进行自动化测试的技术问题,提高了动态键盘的测试效率。

图2是本公开实施例提供的另一种动态键盘操作方法的流程图,应用于具有触摸屏的电子设备,如图2所示,该方法包括以下步骤:

s21、在电子设备发生预设的触发事件时,获取动态键盘在当前显示界面的位置信息。

s22、根据位置信息截取动态键盘的图像。

s23、将动态键盘的图像按照按键边界进行分割,以得到多个按键的字符图像。

根据动态键盘的位置信息截取动态键盘图像,并按各个字符、数字键的排列进行分割,得到不同字符按键的独立图像。

s24、计算字符图像所有像素点的灰度值。

s25、根据每一像素点的灰度值与预设灰度均值的大小关系,确定每一字符图像的特征值。

在一种可能的实施方式中,计算每一字符图像的特征值具体可以通过步骤s24以及步骤s25来实现。

首先通过如下公式分别计算每一字符图像的灰度值:

grey=r×0.3+g×0.59+b×0.11;

其中,r、g、b分别为像素的红绿蓝三元素的色彩值。

示例地,预设灰度均值可以通过如下公式进行计算:

其中,(x,y)表示任一像素点的坐标,g(x,y)表示坐标为(x,y)的像素点的灰度值,w、h分别表示动态键盘的图像的水平像素和垂直像素。

若像素点的灰度值大于预设灰度均值,则将像素点矩阵元素置1,若像素点的灰度值小于预设灰度均值,则将像素点矩阵元素置0,从而每一字符图像会生成一个由1和0组成的矩阵,称为该字符图像的平均哈希图像指纹,平均哈希图像指纹即为字符图像的特征值。

s26、目标按键的基准特征值与所有字符图像的特征值进行逐一匹配。

相应地,电子设备中存储有所有按键的基准特征值,即为所有按键的基准图像指纹。在对电子设备执行ui自动化测试操作时,确定要输入的具体按键的基准图像指纹,然后与每一字符图像的平均哈希图像指纹进行逐一对比。

s27、判断目标按键的基准特征值与其中之一的字符图像的特征值是否一致。

若某一字符图像的平均哈希图像指纹与要输入的具体按键的基准图像指纹不一致,则重新执行步骤s26,将另一字符图像的平均哈希图像指纹与基准图像指纹进行对比。若某一字符图像的平均哈希图像指纹与要输入的具体按键的基准图像指纹一致,则执行步骤s28确定该字符图像为目标字符图像。可选地,字符图像的平均哈希图像指纹中包括矩阵索引,根据该矩阵索引可以计算得到目标按键在当前动态键盘上的坐标信息。

s28、确定该字符图像为目标字符图像。

s29、按照目标字符图像的定位标记执行点击操作。

根据目标字符图像的平均哈希图像指纹中包括的矩阵索引可以确定点击操作的执行范围,并执行点击操作,以完成动态键盘的自动化测试。

采用上述技术方案,通过获取动态键盘的位置信息,并截取动态键盘的图像,进一步将该图像分割成字符图像,并对字符图像进行灰度计算,利用平均哈希算法计算出键盘的图像指纹作为字符图像的特征值,降低了图像信息的复杂度。在对动态键盘执行自动化测试时,将目标按键的基准图像指纹与每一字符图像的平均哈希图像指纹进行匹配,以确定目标按键在当前动态键盘中的坐标信息,从而解决了利用现有技术难以对动态键盘进行自动化测试的技术问题,提高了动态键盘的测试效率。

图3是本公开实施例提供的一种动态键盘操作装置的框图,该装置300可以通过软件、硬件或者两者结合实现成为电子设备的部分或者全部。参照图3,该装置300包括:

获取模块310,用于在电子设备发生预设的触发事件时,获取动态键盘在当前显示界面的位置信息;

分割模块320,用于根据位置信息分割动态键盘的图像,得到多个按键的字符图像,其中,字符图像携带对应按键的定位标记;

计算模块330,用于计算每一字符图像的特征值;

确定模块340,用于若字符图像的特征值与目标按键的基准特征值一致,则确定该字符图像为目标字符图像;

操作模块350,用于按照目标字符图像的定位标记执行点击操作。

在一种可能的实施方式中,动态键盘操作装置300的分割模块320的框图如图4所示,包括:

截取子模块321,用于根据位置信息截取动态键盘的图像;

分割子模块322,用于将动态键盘的图像按照按键边界进行分割,以得到多个按键的字符图像。

可选地,计算模块330如图5所示,包括:

计算子模块331,用于计算字符图像所有像素点的灰度值;

确定子模块332,用于根据每一像素点的灰度值与预设灰度均值的大小关系,确定每一字符图像的特征值。

具体地,计算模块330用于通过如下公式计算预设灰度均值ahash:

其中,(x,y)表示任一像素点的坐标,g(x,y)表示坐标为(x,y)的像素点的灰度值,w、h分别表示动态键盘的图像的水平像素和垂直像素。

采用上述装置,通过将目标按键的基准特征值与所有字符图像的特征值进行逐一匹配的方式,可以精准确定目标按键在动态键盘中的位置。其中,可以通过计算字符图像的灰度值与平均哈希图像指纹,以降低图像信息维度,使得匹配过程更加简单高效,进而完成对动态键盘执行自动化测试的操作,解决了利用现有技术难以对动态键盘进行自动化测试的技术问题,提高了动态键盘的测试效率。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图6是根据一示例性实施例示出的一种电子设备600的框图。如图6所示,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(i/o)接口604,以及通信组件605中的一者或多者。

其中,处理器601用于控制该电子设备600的整体操作,以完成上述的动态键盘操作方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件605可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的动态键盘操作方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的动态键盘操作方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的动态键盘操作方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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