CN109033772B - 一种验证信息的输入方法及装置 - Google Patents

一种验证信息的输入方法及装置 Download PDF

Info

Publication number
CN109033772B
CN109033772B CN201810901442.1A CN201810901442A CN109033772B CN 109033772 B CN109033772 B CN 109033772B CN 201810901442 A CN201810901442 A CN 201810901442A CN 109033772 B CN109033772 B CN 109033772B
Authority
CN
China
Prior art keywords
virtual keyboard
verification information
key set
interface
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810901442.1A
Other languages
English (en)
Other versions
CN109033772A (zh
Inventor
蒋晓海
谢春鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Testin Information Technology Co Ltd
Original Assignee
Beijing Testin Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Testin Information Technology Co Ltd filed Critical Beijing Testin Information Technology Co Ltd
Priority to CN201810901442.1A priority Critical patent/CN109033772B/zh
Publication of CN109033772A publication Critical patent/CN109033772A/zh
Application granted granted Critical
Publication of CN109033772B publication Critical patent/CN109033772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Abstract

本发明公开一种验证信息的输入方法及装置,用于在自动化测试环境中,能够较为高效、准确地利用虚拟键盘输入验证信息。所述方法包括:获取验证信息,所述验证信息中包含数字和/或字符;对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入。

Description

一种验证信息的输入方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种验证信息的输入方法及装置。
背景技术
随着终端以及各种网络业务的发展,通过验证信息进行校验的方式通常可以较为有效地保障用户的信息、财产安全,即可以将验证信息发送到终端中,并基于输入的验证信息进行校验,从而提高验证的安全性。
所以,在目前的自动化测试环境中,终端能否自动化地将验证信息进行输入成为重要的测试环节,尤其对于利用虚拟键盘输入验证信息更为重要。所以,需要提供一种方案,在自动化测试环境中,能够较为高效、准确地利用虚拟键盘输入验证信息。
发明内容
本发明实施例提供一种验证信息的输入方法及装置,用于在自动化测试环境中,能够较为高效、准确地利用虚拟键盘输入验证信息。
为解决上述技术问题,本发明实施例是这样实现的:
本发明实施例采用下述技术方案:
一种验证信息的输入方法,包括:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入。
一种验证信息的输入装置,包括:获取单元、识别单元、生成单元、以及输入单元,其中,
所述获取单元,用于获取验证信息,所述验证信息中包含数字和/或字符;
所述识别单元,用于对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
所述生成单元,用于根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
所述输入单元,用于根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入。
由以上实施例提供的技术方案可见,在对显示在界面中的虚拟键盘进行识别,得到包含虚拟键盘上显示的各按键以及对应显示位置的按键集合后,可以根据该按键集合,以及获取到的包含数字和/或字符的验证信息,生成包含虚拟按键的点击位置和点击顺序的输入脚本,从而可以根据该输入脚本,在虚拟键盘上进行模拟点击操作,以便完成验证信息输入。也即,可以对显示在界面中的虚拟键盘进行识别,得到包含按键和按键位置的按键集合,并根据获取到的验证信息,生成对虚拟按键进行模拟点击的验证信息输入脚本,从而完成验证信息输入。通过该方法,可以在显示虚拟键盘,并获取到验证信息后,较为高效、准确地利用虚拟键盘自动化地输入验证信息。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的验证信息的输入方法的流程示意图;
图2为本发明实施例提供的虚拟键盘的示意图;
图3为本发明实施例提供的乱序虚拟键盘的示意图;
图4为本发明实施例提供的验证信息的输入装置的结构示意图;
图5为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明中各实施例提供的技术方案。
实施例1
如前所述,在对终端的自动化测试环境中,能否自动化地输入验证信息是非常重要的。比如,对于验证信息为短消息中的验证码时,需要测试终端能否利用终端中的虚拟键盘输入该验证码。又如,当虚拟键盘为乱序虚拟键盘时,需要测试终端能否利用乱序虚拟键盘输入正确的验证码。所以,基于这一需求,本发明实施例提供一种验证信息的输入方法,可以在自动化测试环境中,能够较为高效、准确地利用虚拟键盘输入验证信息。该方法的具体流程示意图如图1所示,包括:
步骤102:获取验证信息。
在前文已经介绍,通过验证信息进行校验的方式可以有效保障安全,而验证信息可以是数字、字符的至少一种。比如可以是包含6位数字的验证码“434158”;也可以是包含4位字符的验证信息“adjk”;还可以是包含数字和字符的6位验证信息“h0fu3a”,等。
对于获取验证信息的方式,可以是终端向服务器请求得到的,比如对某个业务而言,可以利用手机号,向该业务对应的服务器发送短信验证码的验证请求,以便接收到包含验证码的短消息,从而可以提取短消息中的验证码。也可以是预设的、用于测试的固定验证信息等,比如为了测试终端能否利用不同的乱序虚拟键盘将相同的验证码输入成功,则可以预设用于测试的固定验证码“434158”,等。还可以是用于测试的、自动生成的验证信息等,比如可以测试终端能否利用不同的乱序虚拟键盘将不同的验证码输入成功,则可以在每次测试时,先生成一组随机的验证码,再利用乱序虚拟键盘进行输入,并以输入结果判断准确性。
步骤104:对显示在界面中的虚拟键盘进行识别,得到按键集合。
本实施例的应用场景可以是在自动化测试环境中,利用显示在界面中的虚拟键盘自动化输入获取到的验证信息。而虚拟键盘,可以是一种应用程序,与实体的键盘一样可以进行字符输入。在固定终端和移动终端中,虚拟键盘均可以显示在界面中,以便通过点击指令进行输入,在实际应用中虚拟键盘可以按照标准尺寸进行显示,比如可以按照101个键盘的尺寸进行显示;或仅显示一部分按键,比如在移动终端中仅显示数字按键。
在利用虚拟键盘进行自动化输入时,首先要获知虚拟键盘中每个按键所代表的数字或字符,以及每个按键的显示位置,从而可以在界面中对虚拟键盘进行模拟点击,实现验证信息输入。所以本步骤中可以对显示在界面中的虚拟键盘进行识别,得到按键集合,而该按键集合中,就可以包含虚拟键盘上显示的数字和/或字符按键,以及每个按键对应的显示位置。如图2所示,为虚拟键盘的示意图,该虚拟键盘可以显示在界面中,本步骤可以对该虚拟键盘进行识别,得到包含虚拟键盘上显示的数字和/或字符按键,以及每个按键对应的显示位置的按键集合,从而可以通过模拟点击指令输入验证信息。
而在实际应用中,为了进一步提高安全性,通常可以将虚拟键盘设置为乱序虚拟键盘,也即本方法中的虚拟键盘可以包括乱序虚拟键盘,如图3所示,为乱序虚拟键盘的示意图,乱序虚拟键盘可以是指打乱按键的排列次序的虚拟键盘,比如,可以在每次显示虚拟键盘时,均将按键以随机的排列次序进行显示。所以,本步骤更需要对该虚拟键盘进行识别,得到包含虚拟键盘上显示的数字和/或字符按键,以及每个按键对应的显示位置的按键集合,从而可以通过模拟点击指令输入验证信息。
而对于如何识别显示在界面中的虚拟键盘,以便得到按键集合,可以有下述两种方式实现:
第一种方式:对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;对虚拟键盘显示区域进行控件识别,得到按键集合。
具体地,虚拟键盘可以由具有输入功能的控件组成,比如可以是应用程序通过调用系统中的某个输入控件,生成的虚拟键盘控件。而在当前的移动终端中,尤其是智能移动终端中,以搭载Android(Google公司开发的操作系统)和iOS(苹果公司的移动操作系统)为主,在Android中,可以利用UI Automator实现控件的检测或称识别。UI Automator是一个开源测试框架,主要是针对于Android应用UI(User Interface,用户界面)所做的一个自动化测试框架,其适合于跨越系统和安装的应用程序的跨应用程序的功能的UI测试和UI测试框架;此外在Android中还可以通过Robotium测试框架完成对控件的识别。在iOS中,可以利用XCtest测试框架实现对控件的识别。而对于固定终端,如搭载Windows(美国微软公司研发的操作系统)的固定终端,可以利用UIAutomation实现识别控件。也即本步骤可以在不同的系统中,利用不同的测试框架或方式对虚拟键盘控件进行识别,从而得到虚拟键盘的显示区域。比如可以是界面的下半部分区域,或上半部分区域,等。
在识别出虚拟键盘控件后,可以利用控件树中各控件的父子关系,识别出每个键盘对应的控件、以及每个控件在界面中的显示位置,比如数字“1”按键对应的控件,数字“2”按键对应的控件等。具体比如可以对实现控件的代码进行识别,从而识别出各按键所代表的数字或字符,以及各按键的位置,从而得到按键集合。该按键集合可以是以按键列表的形式存在,比如以下述列表的形式表示的按键集合:
Figure BDA0001759502520000061
其中,按键集合中各按键的排序可以是按照虚拟键盘中对按键的排列次序而生成的,比如上表可以对应如图3所示的乱序虚拟键盘中各按键从左到右、从上到下的排列顺序。
第二种方式:对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;对虚拟键盘显示区域进行图像识别,得到按键集合。
具体地,虚拟键盘可以显示在界面中,正如图2或图3所示的方式进行显示,所以可以通过对界面进行图像识别的方式,对按键进行识别。进一步地,可以利用OCR(OpticalCharacter Recognition,光学字符识别)的方式进行识别。OCR可以是指终端通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。所以当虚拟键盘显示在界面中时,可以先对界面进行截图,获取到界面图像,并通过OCR识别方式对该界面图像进行识别,先识别出虚拟键盘的显示区域,也即包含虚拟键盘的图像,再继续通过OCR识别方式,对虚拟键盘显示区域进行图像识别,由于OCR可以从图像中获取到数字、字符,以及相对于图像中的位置,所以也就可以确定出虚拟键盘中的各个按键,以及各个按键对应的位置。
在实际应用中,验证信息中可以仅包含数字或字符,而虚拟键盘或乱序虚拟键盘可以包含数字和字符,此时得到的按键集合就可以包含数字和字符,然而其中一类是显然是多余,且在一定程度上会干扰输入验证信息的准确性。所以,为了适应于仅包含数字或字符的验证信息的情况,减少按键集合的数量,从而降低输入验证信息的出错率。在一种实施方式中,当验证信息中包含数字或字符时,本步骤对显示在界面中的虚拟键盘进行识别,得到按键集合,可以包括:对显示在界面中的虚拟键盘进行识别,得到候选按键集合;根据验证信息中包含的数字或字符,对该候选键盘集合进行筛选,得到键盘集合,其中,该按键集合中包含虚拟键盘上显示的数字或字符按键,以及每个按键对应的显示位置。具体地,在对显示在界面中的虚拟键盘进行识别后,可以得到包含虚拟键盘上的所有按键以及各按键对应的显示位置的按键集合,可以将该按键集合确定为候选按键集合,由于验证信息中包含数字或字符,当包含数字时,对候选按键集合进行筛选,以便保留只包含数字按键的集合;当包含字符时,对候选按键集合进行筛选,以便保留只包含字符按键的集合。则在此后输入验证信息的过程中,在一定程度上减少了干扰项,提高了准确率。
在实际应用中,上述两种方式可以任选其一得到按键集合,比如,可以随机选择一种方式得到按键集合,也可以预设执行的顺序,比如若确定出可以通过控件识别得到虚拟键盘区域,则可以通过控件识别的方式得到按键集合,而避免再次通过图像识别的方式;若不可以,则可以通过图像识别的方式进行识别;又如若可以对界面进行截图,则可以通过图像识别得到按键集合,若无法截图,则可以再通过控件识别的方式得到按键集合。
还可以两种方式同时执行,并根据两个候选按键集合综合确定出最终的按键集合。具体地,对显示在界面中的虚拟键盘进行识别,得到按键集合,可以包括:对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;对虚拟键盘显示区域进行控件识别,得到第一候选按键集合,对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;对虚拟键盘显示区域进行图像识别,得到第二候选按键集合;根据第一候选按键集合以及第二候选按键集合,确定按键集合。具体地,可以先根据上述第一种方式和第二种方式得到两个候选按键集合,再根据特定的距离算法(比如欧式距离),计算某个按键在不同候选按键集合中的显示位置之间的距离,若小于等于预设的误差阈值,则可以任选其一作为按键集合中该按键的显示位置,若大于预设的误差阈值时,则可以设定优先级,比如可以以控件识别结果为准。
需要说明的是,步骤102和步骤104,一个是获取验证信息,一个是对虚拟键盘进行识别得到按键集合。在实际应用中并无固定的前后顺序,比如可以先执行步骤102而后执行步骤104;也可以先执行步骤104而后执行步骤102;还可以同时执行步骤102和步骤104。
步骤106:根据获取到的验证信息以及得到的按键集合,生成验证信息输入脚本。
在前述步骤中,分别获取到验证信息、以及虚拟键盘对应的按键集合,则本步骤可以生成验证信息的输入脚本,其中,该验证信息输入脚本中就可以包含针对界面的点击位置和点击顺序,也即对界面中的虚拟键盘的模拟点击指令。比如,对于验证码“434158”,可以依照前文的按键集合列表,生成包含6个点击指令的输入脚本,而按键的坐标就可以是点击顺序:按照(x4,y4)、(x3,y3)、(x4,y4)、(x1,y1)、(x5,y5)、(x8,y8)坐标依次点击。
步骤108:根据生成的验证信息输入脚本,对虚拟键盘发送模拟点击指令,以便对验证信息进行输入。
在前述步骤中已经生成了验证信息输入脚本,则在本步骤中,可以以此为依据,对虚拟键盘发送模拟点击指令,以便对验证信息进行输入。比如,在操作系统为Android的移动终端中,可以通过辅助功能实现模拟点击,辅助功能(AccessibilityService)可以是一种服务,可以提供两种功能:查找界面元素,和实现模拟点击。而在操作系统为iOS的移动终端中,也可以有对应的服务,实现模拟点击的功能。则在本步骤中,可以调用辅助功能,依照生成的验证信息输入脚本,对虚拟键盘发送模拟点击指令,以便对验证信息进行输入。
在实际应用中,对于乱序虚拟键盘而言,几乎每次开启显示时,相对于上一次显示时按键的排列次序均会发生变化,所以在一种实施方式中,为了保证输入的准确性,在根据生成的验证信息输入脚本,对虚拟键盘发送模拟点击指令,并输入完成后,可以删除按键集合。以便下次再进行输入时,可以对最新的乱序虚拟键盘进行识别,从而得到按键集合。
由以上实施例提供的方法可见,在对显示在界面中的虚拟键盘进行识别,得到包含虚拟键盘上显示的各按键以及对应显示位置的按键集合后,可以根据该按键集合,以及获取到的包含数字和/或字符的验证信息,生成包含虚拟按键的点击位置和点击顺序的输入脚本,从而可以根据该输入脚本,在虚拟键盘上进行模拟点击操作,以便完成验证信息输入。也即,可以对显示在界面中的虚拟键盘进行识别,得到包含按键和按键位置的按键集合,并根据获取到的验证信息,生成对虚拟按键进行模拟点击的验证信息输入脚本,从而完成验证信息输入。通过该方法,可以在显示虚拟键盘,并获取到验证信息后,较为高效、准确地利用虚拟键盘自动化地输入验证信息。
实施例2
基于相同的构思,本发明实施例2提供了一种验证信息的输入装置,可以在自动化测试环境中,能够较为高效、准确地利用虚拟键盘输入验证信息。该装置的结构示意图如图4所示,包括:获取单元202、识别单元204、生成单元206、以及输入单元208,其中,
获取单元202,可以用于获取验证信息,该验证信息中可以包含数字和/或字符;
识别单元204,可以用于对显示在界面中的虚拟键盘进行识别,得到按键集合,该按键集合中可以包含虚拟键盘上显示的数字和/或字符按键,以及每个按键对应的显示位置;
生成单元206,可以用于根据验证信息以及按键集合,生成验证信息输入脚本,该验证信息输入脚本中可以包含针对界面的点击位置和点击顺序;
输入单元208,可以用于根据验证信息输入脚本,对虚拟键盘发送模拟点击指令,以便对验证信息进行输入。
在一种实施方式中,识别单元204,可以用于:
对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;
对虚拟键盘显示区域进行控件识别,得到按键集合。
在一种实施方式中,识别单元204,可以用于:
对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;
对虚拟键盘显示区域进行图像识别,得到按键集合。
在一种实施方式中,当验证信息中包含数字或字符时,识别单元204,可以用于:
对显示在界面中的虚拟键盘进行识别,得到候选按键集合;
根据验证信息中包含的数字或字符,对候选键盘集合进行筛选,得到键盘集合,按键集合中包含虚拟键盘上显示的数字或字符按键,以及每个按键对应的显示位置。
在一种实施方式中,该虚拟键盘包括乱序虚拟键盘。
由以上实施例提供的装置可见,在对显示在界面中的虚拟键盘进行识别,得到包含虚拟键盘上显示的各按键以及对应显示位置的按键集合后,可以根据该按键集合,以及获取到的包含数字和/或字符的验证信息,生成包含虚拟按键的点击位置和点击顺序的输入脚本,从而可以根据该输入脚本,在虚拟键盘上进行模拟点击操作,以便完成验证信息输入。也即,可以对显示在界面中的虚拟键盘进行识别,得到包含按键和按键位置的按键集合,并根据获取到的验证信息,生成对虚拟按键进行模拟点击的验证信息输入脚本,从而完成验证信息输入。通过该方法,可以在显示虚拟键盘,并获取到验证信息后,较为高效、准确地利用虚拟键盘自动化地输入验证信息。
图5是本发明的一个实施例电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成验证信息的输入装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入。
上述如本发明图4所示实施例提供的验证信息的输入装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图4所示实施例提供的验证信息的输入装置在图5所示实施例的功能,本发明实施例在此不再赘述。
本发明实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中验证信息的输入装置执行的方法,并具体用于执行:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (8)

1.一种验证信息的输入方法,其特征在于,包括:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入;
其中,对显示在界面中的虚拟键盘进行识别,得到按键集合,包括:
对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行控件识别,得到第一候选按键集合;
对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行图像识别,得到第二候选按键集合;
计算某个按键在不同候选按键集合中的显示位置之间的距离,若小于等于预设的误差阈值,则任选第一候选按键集合或第二候选按键集合作为按键集合中该按键的显示位置,若大于预设的误差阈值,则以控件识别结果为准,第一候选按键集合作为按键集合中该按键的显示位置。
2.如权利要求1所述的方法,其特征在于,当所述验证信息中包含数字或字符时,对显示在界面中的虚拟键盘进行识别,得到按键集合,包括:
对显示在界面中的虚拟键盘进行识别,得到候选按键集合;
根据所述验证信息中包含的数字或字符,对所述候选键盘集合进行筛选,得到键盘集合,所述按键集合中包含所述虚拟键盘上显示的数字或字符按键,以及每个所述按键对应的显示位置。
3.如权利要求1所述的方法,其特征在于,所述虚拟键盘包括乱序虚拟键盘。
4.一种验证信息的输入装置,其特征在于,包括:获取单元、识别单元、生成单元、以及输入单元,其中,
所述获取单元,用于获取验证信息,所述验证信息中包含数字和/或字符;
所述识别单元,用于对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
所述生成单元,用于根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
所述输入单元,用于根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入;
其中,所述识别单元,用于:
对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行控件识别,得到第一候选按键集合;
对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行图像识别,得到第二候选按键集合;
计算某个按键在不同候选按键集合中的显示位置之间的距离,若小于等于预设的误差阈值,则任选第一候选按键集合或第二候选按键集合作为按键集合中该按键的显示位置,若大于预设的误差阈值,则以控件识别结果为准,第一候选按键集合作为按键集合中该按键的显示位置。
5.如权利要求4所述的装置,其特征在于,当所述验证信息中包含数字或字符时,所述识别单元,用于:
对显示在界面中的虚拟键盘进行识别,得到候选按键集合;
根据所述验证信息中包含的数字或字符,对所述候选键盘集合进行筛选,得到键盘集合,所述按键集合中包含所述虚拟键盘上显示的数字或字符按键,以及每个所述按键对应的显示位置。
6.如权利要求4所述的装置,其特征在于,所述虚拟键盘包括乱序虚拟键盘。
7.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入;
其中,对显示在界面中的虚拟键盘进行识别,得到按键集合,包括:
对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行控件识别,得到第一候选按键集合;
对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行图像识别,得到第二候选按键集合;
计算某个按键在不同候选按键集合中的显示位置之间的距离,若小于等于预设的误差阈值,则任选第一候选按键集合或第二候选按键集合作为按键集合中该按键的显示位置,若大于预设的误差阈值,则以控件识别结果为准,第一候选按键集合作为按键集合中该按键的显示位置。
8.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取验证信息,所述验证信息中包含数字和/或字符;
对显示在界面中的虚拟键盘进行识别,得到按键集合,所述按键集合中包含所述虚拟键盘上显示的数字和/或字符按键,以及每个所述按键对应的显示位置;
根据所述验证信息以及所述按键集合,生成验证信息输入脚本,所述验证信息输入脚本中包含针对所述界面的点击位置和点击顺序;
根据所述验证信息输入脚本,对所述虚拟键盘发送模拟点击指令,以便对所述验证信息进行输入;
其中,对显示在界面中的虚拟键盘进行识别,得到按键集合,包括:
对显示在界面中的虚拟键盘进行识别控件,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行控件识别,得到第一候选按键集合;
对显示在界面中的虚拟键盘进行图像识别,得到虚拟键盘显示区域;
对所述虚拟键盘显示区域进行图像识别,得到第二候选按键集合;
计算某个按键在不同候选按键集合中的显示位置之间的距离,若小于等于预设的误差阈值,则任选第一候选按键集合或第二候选按键集合作为按键集合中该按键的显示位置,若大于预设的误差阈值,则以控件识别结果为准,第一候选按键集合作为按键集合中该按键的显示位置。
CN201810901442.1A 2018-08-09 2018-08-09 一种验证信息的输入方法及装置 Active CN109033772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810901442.1A CN109033772B (zh) 2018-08-09 2018-08-09 一种验证信息的输入方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810901442.1A CN109033772B (zh) 2018-08-09 2018-08-09 一种验证信息的输入方法及装置

Publications (2)

Publication Number Publication Date
CN109033772A CN109033772A (zh) 2018-12-18
CN109033772B true CN109033772B (zh) 2020-04-21

Family

ID=64633344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810901442.1A Active CN109033772B (zh) 2018-08-09 2018-08-09 一种验证信息的输入方法及装置

Country Status (1)

Country Link
CN (1) CN109033772B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934025A (zh) * 2018-12-26 2019-06-25 电子科技大学 一种针对银行安全控件的自动登陆方法
CN109992137B (zh) * 2019-04-11 2024-03-22 成都极飓力网络科技有限公司 移动智能终端屏幕操控器
CN110297777B (zh) * 2019-07-10 2023-07-04 北京百度网讯科技有限公司 输入法的测评方法和装置
CN110705551B (zh) * 2019-10-09 2022-05-20 北京百度网讯科技有限公司 按键位置的识别方法、装置、电子设备和存储介质
CN110795019B (zh) * 2019-10-23 2023-08-08 腾讯科技(深圳)有限公司 软键盘的按键识别方法、装置及存储介质
CN110752933A (zh) * 2019-10-25 2020-02-04 北京博睿宏远数据科技股份有限公司 一种验证码输入方法、装置、电子设备及存储介质
CN111061625A (zh) * 2019-11-18 2020-04-24 中国建设银行股份有限公司 一种应用于乱序密码键盘的自动化测试方法和装置
CN113127348B (zh) * 2021-04-19 2021-10-15 广州掌动智能科技有限公司 软件的自动测试脚本录制方法、系统和存储介质
CN113177553B (zh) * 2021-05-31 2022-08-12 哈尔滨工业大学(深圳) 一种电梯内面板楼层按钮识别方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648093A (zh) * 2016-12-19 2017-05-10 珠海市魅族科技有限公司 虚拟现实设备输入方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400585B2 (en) * 2010-10-05 2016-07-26 Citrix Systems, Inc. Display management for native user experiences
CN104090648B (zh) * 2014-05-21 2017-08-25 中兴通讯股份有限公司 数据录入方法及终端
CN107230187B (zh) * 2016-03-25 2022-05-24 北京三星通信技术研究有限公司 多媒体信息处理的方法和装置
CN107783898B (zh) * 2017-07-24 2020-03-27 平安科技(深圳)有限公司 移动应用的测试方法及测试设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648093A (zh) * 2016-12-19 2017-05-10 珠海市魅族科技有限公司 虚拟现实设备输入方法和装置

Also Published As

Publication number Publication date
CN109033772A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109033772B (zh) 一种验证信息的输入方法及装置
CN106899411B (zh) 一种基于验证码的校验方法及装置
CN109871326B (zh) 一种脚本录制的方法和装置
CN111427803B (zh) 自动化随机测试方法、装置、计算机设备及介质
CN110597730B (zh) 基于场景法的自动化测试用例生成方法及系统
CN110956275A (zh) 风险预测和风险预测模型的训练方法、装置及电子设备
CN113448862B (zh) 软件版本测试方法、装置及计算机设备
CN110990274A (zh) 一种生成测试案例的数据处理方法、装置及系统
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN108616361B (zh) 一种识别设备唯一性的方法及装置
CN112035341A (zh) 一种自动化测试方法及装置
CN109978044B (zh) 训练数据生成方法和装置、以及模型的训练方法和装置
CN112256672B (zh) 数据库变更审批方法及装置
CN113408254A (zh) 一种页面表单信息填写方法、装置、设备和可读介质
CN107783867B (zh) 手势测试方法、装置、计算机设备和存储介质
CN107483534B (zh) 一种业务处理的方法及装置
CN114816772B (zh) 基于兼容层运行的应用的排错方法、排错系统及计算设备
CN109740336B (zh) 一种图片中的验证信息的识别方法、装置及电子设备
CN114637672A (zh) 自动化数据测试方法、装置、计算机设备及存储介质
CN109376289B (zh) 一种应用搜索结果中确定目标应用排位的确定方法及装置
CN112948785B (zh) 账户认证方法、装置及设备
CN114817707A (zh) 一种节点和问题的创建方法、装置、电子设备及存储介质
CN110532186B (zh) 利用验证码进行测试的方法、装置、电子设备和存储介质
CN112698883A (zh) 一种配置数据处理方法、装置、终端和存储介质
CN109324966B (zh) 一种测试脚本的生成和执行方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant