CN104268006B - 键鼠脚本的回放方法及装置 - Google Patents
键鼠脚本的回放方法及装置 Download PDFInfo
- Publication number
- CN104268006B CN104268006B CN201410584061.7A CN201410584061A CN104268006B CN 104268006 B CN104268006 B CN 104268006B CN 201410584061 A CN201410584061 A CN 201410584061A CN 104268006 B CN104268006 B CN 104268006B
- Authority
- CN
- China
- Prior art keywords
- script
- image
- key mouse
- action events
- bar
- 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
Links
- 238000013515 script Methods 0.000 title claims abstract description 177
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000009471 action Effects 0.000 claims abstract description 85
- 230000033001 locomotion Effects 0.000 claims abstract description 41
- 230000002123 temporal effect Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种键鼠脚本的回放方法及装置,能够解决误操作率较高的问题。该方法包括:在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像;当应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像,判断再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种键鼠脚本的回放方法及装置。
背景技术
在电脑操作中,有些繁琐的鼠标键盘操作需要重复执行,为了减轻电脑操作者的负担,用于通过脚本程序来模拟鼠标键盘(简称“键鼠”)操作的软件便应运而生了。
目前已经出现了很多能够模拟键鼠操作的软件,这些软件通过脚本来记录键鼠操作,并能够对记录下来的键鼠操作进行回放。但是,这些软件在回放键鼠操作时,无法准确识别操作对象,只能基于键鼠操作的大概位置进行模糊回放。因此,只要操作对象的位置稍有变化,使用这些软件来回放键鼠操作时就会出现误操作。
由此可见,现有技术中用来模拟键鼠操作的软件普遍存在着误操作率较高的缺陷。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的键鼠脚本的回放方法及装置。
根据本发明的一个方面,提供了一种键鼠脚本的回放方法,包括以下步骤:在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;所述键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像;当所述应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像,判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对所述再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
可选地,当判断结果为否时,不执行该条脚本所对应的操作动作;或者,当判断结果为否时,进一步查找所述再次运行或回放的应用程序界面上是否存在该条脚本中的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时,不执行该条脚本所对应的操作动作。
可选地,所述操作对象的图像通过图像轮廓信息进行标识。
可选地,所述键鼠脚本文件中的各条脚本中还分别包括对应的键鼠操作事件的时间信息,所述时间信息通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,通过本次键鼠操作事件的发生时间相对于所述应用程序开始运行的时间之间的相对时间间隔来表示。
可选地,各条脚本所对应的操作动作包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入。
根据本发明的另一个方面,提供了一种键鼠脚本的回放装置,包括:记录模块,适于在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;所述键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像;确定模块,适于当所述应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像;判断模块,适于判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对所述再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
可选地,所述判断模块,进一步用于:当判断结果为否时,不执行该条脚本所对应的操作动作;或者,所述判断模块,进一步用于:当判断结果为否时,进一步查找所述再次运行或回放的应用程序界面上是否存在该条脚本中的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时,不执行该条脚本所对应的操作动作。
可选地,所述操作对象的图像通过图像轮廓信息进行标识。
可选地,所述键鼠脚本文件的各条脚本中还分别包括对应的键鼠操作事件的时间信息,所述时间信息通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,通过本次键鼠操作事件的发生时间相对于所述应用程序开始运行的时间之间的相对时间间隔来表示。
可选地,各条脚本所对应的操作动作包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入。
在本发明提供的键鼠脚本的回放方法及装置中,在脚本程序中不仅记录了键鼠操作事件的位置信息,还记录了操作对象的图像,由此一来,当调用脚本程序进行键鼠操作事件的回放时,首先根据位置信息确定该位置当前对应的图像,只有在该位置当前对应的图像与脚本中记录的操作对象的图像匹配时,才执行脚本中记录的键鼠操作事件,由此能够准确识别操作对象,进而避免了由于操作对象的位置改变所造成的误操作,降低了键鼠回放过程中的误操作率,提高了用户体验满意度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的键鼠脚本的回放方法的流程图;
图2和图3示出了本发明一个具体实施例提供的键鼠脚本的回放方法的流程图;以及
图4示出了本发明实施例提供的键鼠脚本的回放装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种键鼠脚本的回放方法及装置,能够解决现有技术中用于模拟键鼠操作的软件所普遍存在的误操作率较高的问题。
图1示出了本发明实施例提供的键鼠脚本的回放方法的流程图。如图1所示,该方法包括如下步骤:
步骤S110:在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件。其中,该键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像。
步骤S120:当该应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像。
步骤S130:判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配,当判断结果为是时执行步骤S140。
步骤S140:针对再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
可选地,当步骤S130的判断结果为否时进一步执行下述步骤S150:
步骤S150:不执行该条脚本所对应的操作动作。或者,进一步查找再次运行或回放的应用程序界面上是否存在该条脚本中的操作对象的图像,仅在查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时不执行该条脚本所对应的操作动作。
由此可见,在本发明提供的键鼠脚本的回放方法中,在脚本程序中不仅记录了键鼠操作事件的位置信息,还记录了操作对象的图像,由此一来,当调用脚本程序进行键鼠操作事件的回放时,首先根据位置信息确定该位置当前对应的图像,只有在该位置当前对应的图像与脚本中记录的操作对象的图像匹配时,才执行脚本中记录的操作动作,由此避免了由于操作对象的位置改变所造成的误操作,从而降低了键鼠回放过程中的误操作率,提高了用户体验满意度。
下面通过一个具体实施例详细描述一下本发明提供的键鼠脚本的回放方法。在该实施例中,以用户玩游戏时的应用场景为例进行介绍,因此,本实施例中的应用程序为游戏程序。如图2所示,该方法具体包括如下步骤:
步骤S210:在游戏程序的首次运行过程中,通过键鼠脚本文件记录键鼠操作事件。其中,每当检测到一次键鼠操作事件时,就在该键鼠脚本文件中新建一条脚本,通过该脚本来记录本次键鼠操作事件的时间信息、位置信息、操作动作以及操作对象的图像。
其中,键鼠操作事件具体指用户通过键盘或鼠标进行操作时所产生的事件。具体地,在游戏程序的运行过程中,会持续不断地监听是否有针对该游戏程序而发出的键鼠操作事件(具体监听方法可通过本领域技术人员所熟知的方式实现,此处不再赘述),每当监听到一次键鼠操作事件时,就会在键鼠脚本文件中生成一条脚本来记录本次键鼠操作事件的相关信息。这些相关信息主要包括上文提到的键鼠操作事件的时间信息、位置信息、操作动作以及操作对象的图像。其中,键鼠操作事件的时间信息通常为相对时间,例如,可以通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,也可以通过本次键鼠操作事件的发生时间相对于该游戏程序开始运行的时间之间的相对时间间隔来表示。键鼠操作事件的位置信息可以通过发生键鼠操作事件时光标相对于屏幕的位置坐标来表示,但是,考虑到该游戏程序在运行过程中,显示界面的显示方式可以有多种,除全屏显示外,用户还可以对显示界面进行自由缩放,因此,为了更加准确地确定键鼠操作事件的位置,该位置信息优选地通过发生键鼠操作事件时光标相对于该游戏程序界面的相对位置坐标来表示。键鼠操作事件的操作动作主要包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入等,因此,上文提到的监听键鼠操作事件实际上就是监听是否有上述几种操作动作发生,当发生了上述操作动作时则确定监听到了键鼠操作事件。键鼠操作事件的操作对象的图像是指:发生键鼠操作事件时光标所在区域的图像。
在步骤S210中,获取键鼠操作事件的操作对象的图像是本发明中的关键步骤,因此,下面重点介绍一下操作对象的图像的获取方式:
该获取方式的核心思想在于:通过图像轮廓信息来识别图像边界,从而对图像加以标识。具体地,当检测到键鼠操作事件时,首先,抓取当前帧,以便得到当前游戏程序界面的图像;然后,使用OpenCV的已知函数对当前帧的图像进行处理,从而绘制出当前帧的图像轮廓;最后,根据光标所在的位置,得到该位置对应的操作对象的图像轮廓。
在上述过程中获取图像轮廓信息时,可以通过边缘检测技术来实现。边缘检测技术涉及图像处理和计算机视觉等方面,边缘检测的目的是标识数字图像中亮度变化明显的点。通常,图像属性中的显著变化反映了属性的重要事件和变化。这些变化包括:(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化等。具体地,可以通过上文提到的OpenCV的已知函数进行边缘检测处理。OpenCV是Intel开源计算机视觉库,它由一系列C函数和少量C++类构成,能够实现图像处理和计算机视觉方面的很多通用算法。下面对OpenCV中的常用函数进行简单介绍:cvFindContours函数可以得到一个图像的所有轮廓,返回的是轮廓的数量,它可以对cvCanny,cvThreshold(),cvAdaptiveThreshold()函数处理得到的函数进行轮廓的提取;firstContour参数可以不用创建空间,在函数内部从函数cvFindNextContour返回轮廓的指针;最主要的是method参数,这个参数涉及轮廓的存储方式,以及什么轮廓能被发现;通过函数cvStartFindContours,cvFindNextContour,cvEndFindContours可以针对每个轮廓计算它们的周长。通过上述函数即可获取到操作对象的图像轮廓。除了上面介绍的方式之外,本领域技术人员也可以通过其他方式获取操作对象的图像,本发明对此不作限定。
为了便于管理各次键鼠操作事件中获取到的操作对象的图像,还可以预先设置一个脚本矩阵,在该脚本矩阵中,按照时间顺序依次存储各次键鼠操作事件中获取到的操作对象的图像,即:上文提到的光标所在位置对应的操作对象的图像轮廓,该图像轮廓通过边界坐标来表示。脚本矩阵的设置增加了脚本的读取速度。
通过步骤S210就可以将游戏程序首次运行过程中发生的各次键鼠操作事件依次记录到键鼠脚本文件中。
步骤S220:当该游戏程序再次运行或回放时,按照时间信息从第一条脚本开始依次调用上述键鼠脚本文件中的各条脚本。
前面已经介绍过,在脚本中记录的键鼠操作事件的时间信息为相对时间信息,例如,可以是本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔,也可以是本次键鼠操作事件的发生时间相对于该游戏程序开始运行的时间之间的相对时间间隔。例如,以后者为例,假设键鼠脚本文件中一共记录了十个脚本,分别对应于十次键鼠操作事件。第一个脚本中记录的键鼠操作事件的时间信息为“一分三十秒”,表示第一次键鼠操作事件发生在游戏程序运行了一分三十秒时;第二个脚本中记录的键鼠操作事件的时间信息为“三分五十秒”,表示第二次键鼠操作事件发生在游戏程序运行了三分五十秒时……其余键鼠操作事件的时间信息以此类推。
相应地,在游戏程序再次运行或回放时,依次查询键鼠脚本文件的各条脚本中记录的时间信息。首先,查询到第一条脚本中记录的时间信息为“一分三十秒”,因此当游戏程序再次运行或回放至一分三十秒时将调用第一条脚本,以便触发第一条脚本中记录的键鼠操作事件;之后,查询到第二条脚本中记录的时间信息为“三分五十秒”,因此当游戏程序再次运行或回放至三分五十秒时将调用第二条脚本,以便触发第二条脚本中记录的键鼠操作事件……以此类推。
图3示出了在步骤S220中调用各条脚本的过程中所涉及的子步骤的示意图:
子步骤S221:在每条脚本的调用过程中,根据该条脚本中记录的位置信息确定游戏程序界面上对应位置的图像。
具体地,在子步骤S221中,首先,根据该条脚本中记录的位置信息确定再次运行或回放的游戏程序界面上对应位置的图像。该条脚本中记录的位置信息可以通过发生键鼠操作事件时光标相对于该游戏程序界面的相对位置坐标来表示。该相对位置坐标可通过如下方式定义:设置游戏程序界面左下角的坐标为(0,0),右上角的坐标为(1,1),则左上角的坐标为(0,1),右下角的坐标为(1,0)。这样一来,如果第一条脚本中记录的位置信息为(1/4,1/5),则可以据此确定出该位置信息在游戏程序界面上的准确位置。当然,本领域技术人员还可以通过其他方式来表示位置信息,本发明对此不作限定。确定出该条脚本中记录的位置信息在回放的游戏程序界面上的准确位置之后,就可以获取到与该条脚本中记录的位置信息相对应的位置的图像。具体的,可以通过步骤S210中提到的获取图像轮廓信息的方式来获取与该位置信息相对应的位置的图像,具体实现方式参见步骤S210中相应部分的描述。
同样地,为了便于管理各个脚本调用过程中获取到的对应位置的图像,还可以设置一个回放矩阵,在该回放矩阵中,按照脚本执行顺序依次存储各个脚本调用过程中获取到的对应位置的图像。
子步骤S222:判断该对应位置的图像与该条脚本中记录的操作对象的图像是否匹配;当判断结果为是时,执行子步骤S223;当判断结果为否时,执行子步骤S224。
具体地,将子步骤S221中获取到的对应位置的图像与该条脚本中记录的操作对象的图像进行相似度比较,当相似度大于设定阈值时确定二者匹配。具体地,可以通过各种相似度算法进行判断,另外,当设置有脚本矩阵和回放矩阵时,也可以直接将两个矩阵中相应位置的元素值进行比较,元素值相等时则表示二者匹配。当二者匹配时执行子步骤S223,当二者不匹配时执行子步骤S224。
子步骤S223:针对再次运行或回放的游戏程序界面上对应位置的图像执行该条脚本中记录的操作动作。
具体地,如果获取到的对应位置的图像与该条脚本中记录的操作对象的图像相匹配,则说明在游戏程序再次运行或回放的过程中,该条脚本的操作对象的位置并没有发生改变,因此,直接针对游戏程序界面上对应位置的图像执行该条脚本中记录的操作动作即可准确模拟出用户的真实操作。
子步骤S224:不执行该条脚本中记录的操作动作。
具体地,如果获取到的对应位置的图像与该条脚本中记录的操作对象的图像不匹配,则说明在游戏程序再次运行或回放的过程中,该条脚本的操作对象的位置发生了改变,或者,该操作对象并未出现,此时,如果直接针对游戏程序界面上对应位置的图像执行该条脚本中记录的操作动作会造成误操作。原因在于:当操作对象不存在或改变了位置时,如果依然针对原位置执行原有的操作动作则会发生错误,因此,通过子步骤S224可以有效避免误操作现象的发生。
通过在每条脚本的调用过程中依次执行上述的子步骤S221至子步骤S224即可完成对各条脚本的调用处理,从而模拟出用户的一系列操作动作。
另外,在本发明其他的实施例中,子步骤S224也可以通过如下替代方式实现:
在子步骤S224的替代方式中,进一步查找再次运行或回放的游戏程序界面上是否存在该条脚本中记录的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本中记录的操作动作;当查找结果为否时,不执行该条脚本中记录的操作动作。
具体地,在该替代方式中,首先,在再次运行或回放的游戏程序界面上的其他位置查找是否存在该条脚本中记录的操作对象的图像。在查找操作对象的图像时,可以通过步骤S210中提到的获取图像轮廓信息的方式来获取游戏程序界面上的其他位置的图像,进而确定出是否存在脚本中记录的操作对象的图像。在游戏程序界面上进行查找时,为了避免遗漏,可以针对游戏程序界面的全部区域进行查找;或者,为了提高查找效率,也可以仅查找游戏程序界面的局部区域,例如,该局部区域可以是与脚本中记录的位置信息的距离小于预设值的区域,由此,可以仅在原位置附近进行查找,从而提高查找效率,因为通常情况下,游戏中的操作对象(如人物或物品)即使在游戏的回放过程中改变了位置,但往往与游戏上次运行时出现的位置相距不远,因此,通过在附近区域进行局部查找的方式不仅能够缩短查找时间,也便于快速找到操作对象。
接下来,当在游戏程序界面上的其他位置查找到了该条脚本中记录的操作对象的图像时,针对查找到的图像执行该条脚本中记录的操作动作。例如,假设该条脚本中记录的位置信息为(1/4,1/5),但是由于该位置信息处的图像与脚本中记录的操作对象的图像不匹配,因此,在子步骤S224中,在位置信息为(2/4,1/6)处查找到了与脚本中记录的操作对象的图像相匹配的图像,则对查找到的位于(2/4,1/6)处的图像执行脚本中记录的操作动作(如鼠标双击、单击等)。由此能够准确地识别并定位操作对象,避免误操作的发生。相反,当在游戏程序界面上的其他位置也没有查找到该条脚本中记录的操作对象的图像时,说明在本次回放过程中,该操作对象没有出现,因此,不执行该条脚本中记录的操作动作。由于在游戏回放过程中,有些操作对象并不是每次都会出现的,因此,当这些操作对象没有出现时,不执行相应的键鼠动作能够杜绝误操作现象的发生,提高操作的准确率。
在本发明提供的键鼠脚本的回放方法中,不仅能够通过位置信息来进行键鼠操作事件的回放,还能够进一步通过操作对象的图像来实现对操作对象的准确识别,从而实现键鼠操作事件的准确回放。该方法尤其适用于发生在Flash窗口中的键鼠操作事件,由于在Flash窗口中无法获取到操作对象的窗口信息(如类名、句柄等),因此,不能基于窗口信息对操作对象进行识别和定位,所以本发明正是为了解决这一难题而提出了基于图像来识别并定位操作对象的方法,由此避免误操作事件的发生。
另外,本发明除了可以应用在游戏程序中,以便帮助用户练小号,或者协助用户完成相同的游戏关卡或执行相同的游戏任务外,还可以应用于其他需要重复运行或回放的应用程序中,本发明对应用程序的类型不作限定。
图4示出了本发明实施例提供的键鼠脚本的回放装置的结构图。如图4所示,该装置包括:记录模块41、确定模块42和判断模块43。
其中,记录模块41适于在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;所述键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像。
确定模块42适于当所述应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像。
判断模块43,适于判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对所述再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
可选地,所述判断模块43进一步用于:当判断结果为否时,不执行该条脚本所对应的操作动作;或者,所述判断模块43进一步用于:当判断结果为否时,进一步查找所述再次运行或回放的应用程序界面上是否存在该条脚本中记录的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时,不执行该条脚本所对应的操作动作。
可选地,上述操作对象的图像通过图像轮廓信息进行标识。
可选地,所述键鼠脚本文件的各条脚本中还分别包括对应的键鼠操作事件的时间信息,所述时间信息通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,通过本次键鼠操作事件的发生时间相对于所述应用程序开始运行的时间之间的相对时间间隔来表示。
可选地,各条脚本所对应的键鼠操作事件的操作动作包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入。
关于上述各个模块的具体工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
在本发明提供的键鼠脚本的回放方法及装置中,在脚本程序中不仅记录了键鼠操作事件的时间信息以及位置信息,还记录了操作对象的图像,由此一来,当调用脚本程序进行键鼠操作事件的回放时,首先根据位置信息确定该位置当前对应的图像,只有在该位置当前对应的图像与脚本中记录的操作对象的图像匹配时,才执行脚本中记录的键鼠操作事件,由此避免了由于操作对象的位置改变所造成的误操作,从而降低了键鼠回放过程中的误操作率,提高了用户体验满意度。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种键鼠脚本的回放方法,包括以下步骤:
在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;所述键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像;其中,键鼠操作事件的操作对象的图像是指:发生键鼠操作事件时光标所在区域的图像;
当所述应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像,判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对所述再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
2.如权利要求1所述的方法,其中,当判断结果为否时,不执行该条脚本所对应的操作动作;或者,
当判断结果为否时,进一步查找所述再次运行或回放的应用程序界面上是否存在该条脚本中的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时,不执行该条脚本所对应的操作动作。
3.如权利要求1所述的方法,其中,所述操作对象的图像通过图像轮廓信息进行标识。
4.如权利要求1所述的方法,其中,所述键鼠脚本文件的各条脚本中还分别包括对应的键鼠操作事件的时间信息,所述时间信息通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,通过本次键鼠操作事件的发生时间相对于所述应用程序开始运行的时间之间的相对时间间隔来表示。
5.如权利要求1-4任一所述的方法,其中,各条脚本所对应的操作动作包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入。
6.一种键鼠脚本的回放装置,包括:
记录模块,适于在应用程序的运行过程中,通过键鼠脚本文件记录键鼠操作事件;所述键鼠脚本文件的各条脚本中分别包括对应的键鼠操作事件的位置信息以及操作对象的图像;其中,键鼠操作事件的操作对象的图像是指:发生键鼠操作事件时光标所在区域的图像;
确定模块,适于当所述应用程序再次运行或回放时,根据每条脚本中的位置信息确定再次运行或回放的应用程序界面上对应位置的图像;
判断模块,适于判断所述再次运行或回放的应用程序界面上对应位置的图像与该条脚本中的操作对象的图像是否匹配;当判断结果为是时,针对所述再次运行或回放的应用程序界面上对应位置的图像执行该条脚本所对应的操作动作。
7.如权利要求6所述的装置,其中,所述判断模块,进一步用于:当判断结果为否时,不执行该条脚本所对应的操作动作;或者,
所述判断模块,进一步用于:当判断结果为否时,进一步查找所述再次运行或回放的应用程序界面上是否存在该条脚本中的操作对象的图像,当查找结果为是时,针对查找到的图像执行该条脚本所对应的操作动作;当查找结果为否时,不执行该条脚本所对应的操作动作。
8.如权利要求6所述的装置,其中,所述操作对象的图像通过图像轮廓信息进行标识。
9.如权利要求6所述的装置,其中,所述键鼠脚本文件的各条脚本中还分别包括对应的键鼠操作事件的时间信息,所述时间信息通过本次键鼠操作事件相对于上次键鼠操作事件的相对时间间隔来表示,或者,通过本次键鼠操作事件的发生时间相对于所述应用程序开始运行的时间之间的相对时间间隔来表示。
10.如权利要求6-9任一所述的装置,其中,各条脚本所对应的操作动作包括:鼠标双击、鼠标单击、鼠标右键按下和键盘输入。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584061.7A CN104268006B (zh) | 2014-10-27 | 2014-10-27 | 键鼠脚本的回放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410584061.7A CN104268006B (zh) | 2014-10-27 | 2014-10-27 | 键鼠脚本的回放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268006A CN104268006A (zh) | 2015-01-07 |
CN104268006B true CN104268006B (zh) | 2017-10-10 |
Family
ID=52159530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410584061.7A Active CN104268006B (zh) | 2014-10-27 | 2014-10-27 | 键鼠脚本的回放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268006B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572123B (zh) * | 2015-01-27 | 2019-05-14 | Oppo广东移动通信有限公司 | 一种脚本生成方法及装置 |
CN106155649B (zh) * | 2015-03-31 | 2020-02-14 | 北京奇虎科技有限公司 | 一种键鼠脚本处理方法及装置 |
CN106155771A (zh) * | 2015-03-31 | 2016-11-23 | 北京奇虎科技有限公司 | 键鼠脚本回放的方法及装置 |
CN106155760B (zh) * | 2015-03-31 | 2019-09-17 | 北京奇虎科技有限公司 | 键鼠脚本回放的方法及装置 |
CN104965701B (zh) * | 2015-06-12 | 2018-01-16 | 北京奇虎科技有限公司 | 获取应用信息的方法及装置 |
CN104915244B (zh) * | 2015-06-30 | 2018-02-16 | 北京奇虎科技有限公司 | 键鼠脚本回放的方法及装置 |
CN104915243B (zh) * | 2015-06-30 | 2018-08-10 | 北京奇虎科技有限公司 | 键鼠脚本回放的方法及装置 |
CN105550046B (zh) * | 2015-12-11 | 2020-02-14 | 北京奇虎科技有限公司 | 虚拟操控的方法、装置及*** |
CN105521603B (zh) * | 2015-12-11 | 2019-05-31 | 北京奇虎科技有限公司 | 针对跑酷类游戏进行虚拟输入控制的方法、装置及*** |
CN107193540A (zh) * | 2016-03-14 | 2017-09-22 | 高德信息技术有限公司 | 一种应用软件演示方法、装置 |
CN107050850A (zh) * | 2017-05-18 | 2017-08-18 | 腾讯科技(深圳)有限公司 | 虚拟场景的录制和回放方法、装置以及回放*** |
CN108108213A (zh) * | 2017-12-08 | 2018-06-01 | 北京小米移动软件有限公司 | 指令集执行方法及装置 |
CN108646968A (zh) * | 2018-04-20 | 2018-10-12 | 苏州蜗牛数字科技股份有限公司 | 一种基于图像分析重现场景的方法及*** |
CN109360065B (zh) * | 2018-10-24 | 2022-04-19 | 北京赢销通软件技术有限公司 | 一种脚本执行方法及装置 |
WO2021087818A1 (zh) * | 2019-11-06 | 2021-05-14 | 西门子股份公司 | 软件知识捕捉方法、装置和*** |
CN111298434B (zh) * | 2020-02-25 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、设备及存储介质 |
CN112990236B (zh) * | 2021-05-10 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种数据处理方法和相关装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493790B (zh) * | 2009-02-27 | 2015-08-05 | 北京中星微电子有限公司 | 记录回放***和记录回放方法 |
CN103377119B (zh) * | 2012-04-23 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 一种非标准控件自动化测试方法和装置 |
-
2014
- 2014-10-27 CN CN201410584061.7A patent/CN104268006B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104268006A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268006B (zh) | 键鼠脚本的回放方法及装置 | |
CN111260545B (zh) | 生成图像的方法和装置 | |
CN107515825B (zh) | 流畅度测试方法和装置、存储介质、终端 | |
US20140218385A1 (en) | System and method for visual segmentation of application screenshots | |
CN107025165A (zh) | 游戏自动化测试方法及相关装置 | |
KR20140091555A (ko) | 웹 페이지 렌더링 시간 측정 기법 | |
US10810113B2 (en) | Method and apparatus for creating reference images for an automated test of software with a graphical user interface | |
CN105608005B (zh) | 一种电视***的测试方法及*** | |
CN108040265A (zh) | 一种对视频进行处理的方法和装置 | |
CN109901996A (zh) | 辅助测试的方法、装置、电子设备及可读存储介质 | |
CN110554957A (zh) | 测试用户界面的方法、装置、电子设备及可读存储介质 | |
CN108133718A (zh) | 一种对视频进行处理的方法和装置 | |
CN110865753A (zh) | 应用消息的通知方法及装置 | |
CN106484614A (zh) | 一种核对图片处理效果的方法、装置及移动终端 | |
CN110248235B (zh) | 软件教学方法、装置、终端设备及介质 | |
CN106536004A (zh) | 增强的游戏平台 | |
CN103679130B (zh) | 手追踪方法、手追踪设备和手势识别*** | |
CN110427998A (zh) | 模型训练、目标检测方法及装置、电子设备、存储介质 | |
CN114513694A (zh) | 评分确定方法、装置、电子设备和存储介质 | |
US9978287B2 (en) | Systems and methods for improving tennis stroke recognition | |
US11423654B2 (en) | Identification of continuity errors in video by automatically detecting visual inconsistencies in video frames | |
CN107569851A (zh) | 游戏挂机方法、装置及*** | |
CN117065338A (zh) | 棋面提示方法及相关装置、设备和存储介质 | |
CN108205664B (zh) | 一种食物识别方法及装置、存储介质、计算机设备 | |
CN107506124B (zh) | 视频交友方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |