CN109542440A - 对窗口的操作方法和装置、计算机装置及可读存储介质 - Google Patents
对窗口的操作方法和装置、计算机装置及可读存储介质 Download PDFInfo
- Publication number
- CN109542440A CN109542440A CN201811445838.6A CN201811445838A CN109542440A CN 109542440 A CN109542440 A CN 109542440A CN 201811445838 A CN201811445838 A CN 201811445838A CN 109542440 A CN109542440 A CN 109542440A
- Authority
- CN
- China
- Prior art keywords
- window
- image
- target
- handle
- parent
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于解决现有技术难以对自定义用户控件或第三方控件进行操作的问题。本发明方法包括:预存目标程序的第一窗口的信息,第一窗口的信息包括第一窗口中的目的窗口的图像和第一窗口的窗口信息;根据第一窗口的窗口信息获取第一窗口的句柄;根据第一窗口的句柄获取第一窗口的图像;判断在第一窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;若存在,则根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种对窗口的操作方法和装置、计算机装置及可读存储介质。
背景技术
工作流软件应用的范围非常广泛,凡是通过表单逐级手工流转完成的任务均可应用工作流软件自动实现,具体的,工作流软件有利于实现在行政管理、人事管理、财务相关和客户服务等方面的工作流程自动化。
Windows程序中,有各种各样的资源,比如窗口、图标、光标等。Windows程序的窗体、窗体上的控件(比如按钮)都属于窗口。在windows中,句柄是和窗口对象一一对应的32位无符号整数值。窗口对象可以映射到唯一的句柄,句柄也可以映射到唯一的窗口对象。因此,在Windows应用程序中,窗口是通过句柄来标识的。在窗口每次打开的时候,窗口的句柄的取值是会变动的,我们要对某个窗口进行操作,首先就要得到这个窗口的句柄。
现有技术中,工作流软件模拟用户对另一程序B的b按钮的操作,比如模拟用户点击b按钮的鼠标操作,实现过程一般包括:在工作流软件中预存有b按钮的窗口标识,工作流软件可以使用应用程序编程接口API,根据预存的B按钮的窗口标识获取b按钮的句柄,之后,工作流软件可以利用b按钮的句柄、通过API获取b按钮的位置,进而对b按钮的位置进行操作。
但是,通过API只能获取系统原生窗口的句柄,对于原生窗口中的部分自定义用户控件或第三方控件,是无法通过API获取到其句柄的,也就无法获取其位置,因此无法对其进行操作。
发明内容
本发明实施例提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于解决现有技术难以对自定义用户控件或第三方控件进行操作的问题。
本发明实施例第一方面提供了一种对窗口的操作方法,包括:
预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;根据所述第一窗口的窗口信息获取所述第一窗口的句柄;根据所述第一窗口的句柄获取所述第一窗口的图像;判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;若存在,则根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
可选的,若判定在所述目标窗口的图像内不存在所述目标图像区域,所述方法还包括:
以第一窗口作为目标窗口;
根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;
根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;
判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
若存在,则根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
可选的,若判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域,所述方法还包括:
以所述目标窗口的父窗口作为所述目标窗口,并重复执行所述根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄的步骤。
可选的,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。
可选的,根据所述第一窗口的窗口信息获取所述第一窗口的句柄包括:
根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;
根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。
本发明实施例第二方面提供一种对窗口的操作装置,包括:
存储模块,用于预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;
第一获取模块,用于根据所述第一窗口的窗口信息获取所述第一窗口的句柄;
第二获取模块,用于根据所述第一窗口的句柄获取所述第一窗口的图像;
判断模块,用于判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
确定模块,用于当所述判断模块判定在所述第一窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
操作模块,用于在所述确定模块确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
可选的,所述装置还包括条件执行模块,所述条件执行模块包括:
第一赋值单元,用于当所述判断模块判定在所述第一窗口的图像内不存在所述目标图像区域时,以第一窗口作为目标窗口;
第一获取单元,用于根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;
第二获取单元,用于在所述第一获取单元获取到所述目标窗口的父窗口的句柄之后,根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;
判断单元,用于在所述第二获取单元获取到所述目标窗口的父窗口的图像之后,判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
确定单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
操作单元,用于在所述确定单元确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
可选的,所述条件执行模块还包括:
第二赋值单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域时,以所述目标窗口的父窗口作为所述目标窗口,并触发所述第一获取单元。
可选的,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。
可选的,所述第一获取模块包括:
第三获取单元,用于根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;
第四获取单元,用于根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。
可选的,所述顶级窗口为所述目的窗口的第n级父窗口,所述目的窗口在所述顶级窗口中的索引位置包括所述目的窗口的第i-1级父窗口在所述目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,所述目的窗口的第0级父窗口为所述目的窗口。
可选的,所第四获取单元用于依次根据所述目的窗口的第j级父窗口和第j索引位置获取所述目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
可选的,所述目的窗口的窗口信息还包括所述目的窗口的各级父窗口的各个子窗口的标识信息。
可选的,所述顶级窗口的标识信息包括程序标识和窗口类名。
本发明实施例的第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式所述方法的步骤。
从以上技术方案可以看出,由于可以根据第一窗口的窗口信息获取第一窗口的句柄,进而获取第一窗口的图像和第一窗口在屏幕中的位置信息,因此,可以预存第一窗口的窗口信息和第一窗口中的目的窗口的图像,当需要模拟用户对第一窗口中的目的窗口进行操作时,可以在第一窗口的图像内查找与目的窗口的图像相匹配的目标图像区域,之后根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息,从而对目的窗口进行操作。由于本申请提供的对目的窗口的操作方法无需获取目的窗口的句柄,因此,有利于实现对无法获取其句柄的窗口的操作,比如,有利于实现对自定义用户控件或第三方控件的操作。
附图说明
图1为本发明对窗口的操作方法一个实施例示意图;
图2为本发明目标程序的窗口的一个示意图;
图3为本发明目标程序的窗口的另一个示意图;
图4为本发明当第一窗口的图像内不存在目标图像区域时对窗口的操作方法一个实施例示意图;
图5为本发明第一窗口的窗口信息的一个获取流程示意图;
图6为本发明目标程序的各级窗口的一个关系示意图;
图7为本发明第一窗口的窗口信息的另一个获取流程示意图;
图8为本发明目标程序的各级窗口的另一个关系示意图;
图9为本发明对窗口的操作方法中获取第一窗口的句柄的一个实施例示意图;
图10为本发明对窗口的操作方法中获取第一窗口的句柄的一个流程图;
图11为本发明对窗口的操作装置一个实施例示意图;
图12为本发明对窗口的操作装置另一个实施例示意图;
图13为本发明对窗口的操作装置中条件执行模块一个实施例示意图;
图14为本发明对窗口的操作装置中第一获取模块一个实施例示意图;
图15为本发明计算机装置一个实施例示意图。
具体实施方式
本发明实施例提供了一种对窗口的操作方法和装置、计算机装置及可读存储介质,用于实现对无法获取其句柄的窗口的操作。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参考图1,本申请对窗口的操作方法一个实施例包括:
101、预存目标程序的第一窗口的信息;
当需要模拟用户对目标程序的某个非顶级窗口进行操作时(为了方便描述,将该非顶级窗口称作目的窗口),尤其当无法根据目的窗口的窗口标识获取目的窗口的句柄时,可以预存目标程序的第一窗口的信息,目的窗口位于第一窗口内部,第一窗口的信息可以包括第一窗口的窗口信息和目的窗口的图像。
102、根据第一窗口的窗口信息获取第一窗口的句柄;
需要模拟用户对目的窗口进行操作时,可以根据第一窗口的信息中的第一窗口的窗口信息、利用API获取第一窗口的句柄。
103、根据第一窗口的句柄获取第一窗口的图像;
获取到第一窗口的句柄后,可以根据第一窗口的句柄、利用API获取第一窗口的图像。
104、判断在第一窗口的图像内是否存在目标图像区域,若存在,则执行步骤105,若不存在,则执行步骤107;
获取到第一窗口的图像后,可以以目的窗口的图像作为模板,在第一窗口的图像内查找与之匹配的目标图像区域,若在第一窗口的图像内存在目的窗口的图像相匹配的目标图像区域,则执行步骤105,若不存在,则执行步骤107。
105、根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
若判定在第一窗口的图像内存在目的窗口的图像相匹配的目标图像区域,那么,可以根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目标图像区域在屏幕内的位置信息,由于目标图像区域即对应于目的窗口,因此,也就确定了目的窗口在屏幕内的位置信息。
106、根据目的窗口在屏幕内的位置信息对目的窗口进行操作;
确定目的窗口在屏幕内的位置信息之后,可以根据目的窗口在屏幕内的位置信息对目的窗口进行操作。示例性的,用户对窗口的操作一般包括鼠标点击操作、鼠标拖曳操作和键盘输入操作等。
107、执行其他操作。
由于可以根据第一窗口的窗口信息获取第一窗口的句柄,进而获取第一窗口的图像和第一窗口在屏幕中的位置信息,因此,可以预存第一窗口的窗口信息和第一窗口中的目的窗口的图像,当需要模拟用户对第一窗口中的目的窗口进行操作时,可以在第一窗口的图像内查找与目的窗口的图像相匹配的目标图像区域,之后根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息,从而对目的窗口进行操作。由于本申请提供的对目的窗口的操作方法无需获取目的窗口的句柄,因此,有利于实现对无法获取其句柄的窗口的操作,比如,有利于实现对自定义用户控件或第三方控件的操作。
参考图2,为目标程序的窗口的一个示意图,假设框1对应于目的窗口,框2对应于第一窗口,框3为第一窗口的父窗口,框4为框3的父窗口,即第一窗口的父窗口的父窗口。第一窗口的图像对应于图2中的框2内的图像,由于框1完全处于框2的内部,因此,经过步骤104,可以判定在第一窗口的图像内存在与目的窗口的图像相匹配的目标图像区域,即框1内的区域。之后,可以继续执行步骤105和步骤106。
参考图3,为目标程序的窗口的另一个示意图,仍然假设框1对应于目的窗口,框2对应于第一窗口,框3为第一窗口的父窗口,框4为框3的父窗口,即第一窗口的父窗口的父窗口。第一窗口的图像对应于图2中的框2内的图像,由于框1只有部分处于框2的内部,因此,经过步骤104,可以判定在第一窗口的图像内不存在与目的窗口的图像相匹配的目标图像区域。之后,无法通过步骤105和步骤106来实线对目的窗口的操作。
为了解决上述问题,若经过步骤104判定在第一窗口的图像内不存在与目的窗口的图像相匹配的目标图像区域,参考图4,本申请提供的对窗口的操作方法还可以包括如下步骤:
401、以第一窗口作为目标窗口;
402、根据目标窗口的句柄获取目标窗口的父窗口的句柄;
若判定在目标窗口的图像内不存在目标图像区域,则可以根据目标窗口的窗口信息、利用API获取目标窗口的父窗口的句柄,继续以图3为例,当目标窗口指第一窗口时,目标窗口对应于框2,目标窗口的父窗口对应于框3。
403、根据目标窗口的父窗口的句柄获取目标窗口的父窗口的图像;
获取到目标窗口的父窗口的句柄之后,可以根据目标窗口的句柄、利用API获取目标窗口的父窗口的图像,以图3为例,当目标窗口指第一窗口时,目标窗口的父窗口的图像即为框3内的图像。
404、判断在目标窗口的父窗口的图像内是否存在目标图像区域,若存在,则执行步骤405,若不存在,则执行步骤407;
获取到目标窗口的父窗口的图像后,可以以目的窗口的图像作为模板,在目标窗口的父窗口的图像内查找与之匹配的目标图像区域,若在目标窗口的父窗口的图像内存在目标图像区域,则执行步骤405,否则,则执行步骤407。
405、根据目标窗口的父窗口在屏幕内的位置信息和目标图像区域在目标窗口的父窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
若判定目标窗口的父窗口的图像内存在目标图像区域,则可以根据目标窗口的父窗口在屏幕内的位置信息和目标图像区域在目标窗口的父窗口内的位置信息,确定目标图像区域在屏幕内的位置信息,由于目标图像区域即对应于目的窗口,因此,也就确定了目的窗口在屏幕内的位置信息。
406、根据目的窗口在屏幕内的位置信息对目的窗口进行操作;
确定目的窗口在屏幕内的位置信息之后,可以根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
407、以目标窗口的父窗口作为目标窗口,重复执行步骤402。
若判定目标窗口的父窗口的图像内存在目标图像区域,可以执行其他操作,可选的,比如,可以以目标窗口的父窗口作为目标窗口,重复执行步骤402。若以图3为例,此时目标窗口指第一窗口的父窗口,即对应于框3,那么目标窗口的父窗口则对应于框4。步骤401和步骤407仅用于简化对上述流程的描述,在实际运行中,上述流程可以不执行步骤401和步骤407对应的动作。
在一种可能的实现方式中,若第一窗口不是目标程序的顶级窗口,那么第一窗口的窗口信息可以包括目标程序的顶级窗口的标识信息和第一窗口在顶级窗口中的索引位置。
第一窗口在顶级窗口中的索引位置用于根据顶级窗口的句柄来获取第一窗口的句柄,在实际使用中,可以通过Spy++等编程辅助工具来获取第一窗口的窗口信息,之后可以将获取到的窗口信息进行存储。
第一窗口可以是顶级窗口的子窗口,此时,示例性的,参考图5,第一窗口的窗口信息可以通过如下流程来获取:
501、在屏幕上移动鼠标选择第一窗口;
502、获取第一窗口的句柄;
503、根据第一窗口的句柄获取第一窗口的标识信息;
504、根据第一窗口的标识信息获取第一窗口的父窗口的标识信息和句柄;
505、检测第一窗口的父窗口的所有子窗口的句柄;
506、根据第一窗口的父窗口的所有子窗口的句柄和第一窗口的句柄,确定第一窗口在其父窗口中的索引位置。
通过步骤501至步骤506,可以获取到第一窗口的窗口信息,即第一窗口的父窗口的标识信息和第一窗口在其父窗口中的索引位置。
参考图6,假设顶级窗口为A,A的各个子窗口依次包括B1、B2、B3,其中,第一窗口为B2,此时,B2的窗口信息可以包括:A的标识信息,和B2在A中的索引位置。由于A的各个子窗口的相对位置一般是确定的,因此,B2在A中的索引位置可以指B2在A的各个子窗口中的位置,即第二位。
当第一窗口不是顶级窗口的子窗口时,比如,第一窗口为顶级窗口的某个子窗口的子窗口,或者将第一窗口称作顶级窗口的二级子窗口,此时,示例性的,参考图7,第一窗口的窗口信息可以通过如下流程来获取:
701、在屏幕上移动鼠标选择第一窗口;
702、获取第一窗口的句柄;
703、以第一窗口作为当前窗口;
704、根据当前窗口的句柄获取当前窗口的标识信息;
705、根据当前窗口的标识信息获取当前窗口的父窗口的标识信息和句柄;
706、检测当前窗口的父窗口的所有子窗口的句柄;
707、根据当前窗口的父窗口的所有子窗口的句柄和当前窗口的句柄,确定当前窗口在其父窗口中的索引位置;
708、以当前窗口的父窗口作为当前窗口,若当前窗口不是顶级窗口,则重复执行步骤704,若当前窗口是顶级窗口,则执行步骤709;
709、根据当前窗口的句柄获取当前窗口的标识信息,并结束流程。
步骤703和步骤708仅用于简化对上述流程的描述,在实际运行中,上述流程可以不执行步骤403和步骤408对应的动作。参考图8,假设顶级窗口为A,A的子窗口(即A的一级子窗口)依次包括B1、B2和B3,其中B2的子窗口(即A的部分二级子窗口)依次包括C1、C2和C3,第一窗口为C3,此时,C3的窗口信息的获取流程可以包括:在屏幕上移动鼠标选择C3;之后,获取C3的句柄;根据C3的句柄获取C3的标识信息;之后根据C3的标识信息获取C3的父窗口(即B2)的标识信息和句柄;之后检测B2的所有子窗口的句柄,即C1、C2、C3的句柄;根据B2的所有子窗口的句柄和C3的句柄,确定C3在B2中的索引位置(为第3位);由于B2不是顶级窗口,继续流程,即根据B2的句柄获取B2的标识信息;之后根据B2的标识信息获取B2的父窗口(即A)的标识信息和句柄;之后检测A的所有子窗口的句柄,即B1、B2和B3的句柄;根据A的所有子窗口的句柄和B2的句柄,确定B2在A中的索引位置(为第2位);由于A为顶级窗口,结束C3的窗口信息的获取流程。至此,获取到的C3的窗口信息包括:A的标识信息,和C3在A中的索引位置,C3在A中的索引位置具体包括:B2在A中的索引位置(第2位)和C3在B2中的索引位置(第3位)。
为了对上述不同情况下第一窗口在顶级窗口中的索引位置进行概括,从第一窗口的角度,可以将顶级窗口记作第一窗口的第n级父窗口,n为正整数,示例性的,当n=1时,顶级窗口为第一窗口的父窗口,可以参考图6;当n=2时,顶级窗口为第一窗口的父窗口的父窗口,可以参考图8。那么,在本发明的一种可能的实施例中,第一窗口在顶级窗口中的索引位置可以包括第一窗口的第i-1级父窗口在第一窗口的第i级父窗口中的第i索引位置,其中,i=1,2,……,n,当i=1时,第一窗口的第0级父窗口指第一窗口。也就是说,第一窗口在顶级窗口中的索引位置可以包括:第一窗口在第一窗口的第1级父窗口中的索引位置(为了便于描述,将此索引位置记作第1索引位置)、第一窗口的第1级父窗口在第一窗口的第2级父窗口中的第2索引位置、……,第一窗口第n-1级父窗口在第一窗口的第n级父窗口中的第n索引位置。若继续以图8为例,那么n=2,第一窗口C3在顶级窗口A中的索引位置包括:第1索引位置为3,第2索引位置为2。
由于不同窗口的窗口标识可能相同,因此,仅根据第一窗口的标识信息获取第一窗口的句柄,容易出现获取到其他窗口的句柄的情况,导致操作错误。
为了解决上述问题,提高获取第一窗口的句柄的准确性,参考图9,在一种可能的实现方式中,步骤102根据第一窗口的窗口信息获取第一窗口的句柄可以具体包括:
901、根据顶级窗口的标识信息获取顶级窗口的句柄;
902、根据顶级窗口的句柄和第一窗口在顶级窗口中的索引位置,获取第一窗口的句柄。
由于顶级窗口的标识信息通常是唯一的,不会和其他窗口的标识信息相冲突,因此,步骤901至步骤902有利于减少工作流软件获取第一窗口的句柄的错误几率。
基于上述第一窗口在顶级窗口中的索引位置的实施例,步骤902一种可能的具体细化步骤可以包括:依次根据第一窗口的第j级父窗口的句柄和第j索引位置,获取第一窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。当j=1时,便可以获取到第一窗口的句柄。具体的,参考图10,获取第一窗口的句柄可以包括如下流程:
1001、令m=n;
1002、根据第一窗口的第m级父窗口的句柄和第m索引位置获取第一窗口的第m-1级父窗口的句柄;
1003、令m=m-1,若m>0,则重复执行步骤602,若m=0,则触发步骤1004;
1004、结束流程。
步骤1001和步骤1003仅用于简化对上述获取流程的描述,在实际使用中,上述流程可以不包括步骤1001和步骤1003对应的动作。仍然参考图8,n=2,获取第一窗口C3的句柄可以包括:根据C3的第2级父窗口(即顶级窗口A)的句柄可以获取A的各个子窗口B1、B2、B3的句柄,之后,可以根据第2索引位置(即第2位)确定C3的第1级父窗口(即B2)的句柄;之后,可以根据C3的第1级父窗口(即B2)的句柄获取B2的各个子窗口C1、C2、C3的句柄,之后,可以根据第1索引位置(即第3位)确定C3的第0级父窗口(即C3)的句柄。
由于在第一窗口的窗口信息的获取流程中,可以获取到目标程序的各个窗口的标识信息,因此,在一种可能的实现方式中,预存的第一窗口的窗口信息还可以包括第一窗口的各级父窗口的各个子窗口的标识信息,或者说,第一窗口的窗口信息包括了目标程序的各个窗口的标识信息,以图8为例,第一窗口C3的窗口信息中的标识信息可以包括:C3的第2级父窗口(即A)的标识信息、C3的第2级父窗口(即A)的各个子窗口(即B1、B2、B3)的标识信息、C3的第1级父窗口(即B2)的各个子窗口(即C1、C2、C3)的标识信息。这样的好处是,可以根据预存的第一窗口的窗口信息灵活更改工作流软件模拟用户操作的窗口,或者在工作流软件的设计时,可灵活增加多个模拟操作,运行时可同时操作不同的窗口。
上面对本发明实施例中的对窗口的操作方法进行了描述,下面对本发明实施例中的对窗口的操作装置进行描述。
参考图11,本申请对窗口的操作装置一个实施例可以包括:
存储模块1101,用于预存目标程序的第一窗口的信息,第一窗口的信息包括第一窗口中的目的窗口的图像和第一窗口的窗口信息;
第一获取模块1102,用于根据第一窗口的窗口信息获取第一窗口的句柄;
第二获取模块1103,用于根据第一窗口的句柄获取第一窗口的图像;
判断模块1104,用于判断在第一窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
确定模块1105,用于当判断模块判定在第一窗口的图像内存在与目的窗口的图像相匹配的目标图像区域时,根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
操作模块1106,用于在确定模块确定目的窗口在屏幕内的位置信息之后,根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
可选的,参考图12,本申请对窗口的操作装置还可以包括条件执行模块1107,当判断模块1104判定在第一窗口的图像内不存在目标图像区域时触发条件执行模块1107。参考图13,条件执行模块包括:
第一赋值单元11071,用于当判断模块1104判定在第一窗口的图像内不存在目标图像区域时,以第一窗口作为目标窗口;
第一获取单元11072,用于根据目标窗口的句柄获取目标窗口的父窗口的句柄;
第二获取单元11073,用于在第一获取单元11072获取到目标窗口的父窗口的句柄之后,根据目标窗口的父窗口的句柄获取目标窗口的父窗口的图像;
判断单元11074,用于在第二获取单元11073获取到目标窗口的父窗口的图像之后,判断在目标窗口的父窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
确定单元11075,用于当判断单元11074判定在目标窗口的父窗口的图像内存在与目的窗口的图像相匹配的目标图像区域时,根据目标窗口的父窗口在屏幕内的位置信息和目标图像区域在目标窗口的父窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
操作单元11076,用于在确定单元11075确定目的窗口在屏幕内的位置信息之后,根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
可选的,条件执行模块1107还可以包括:
第二赋值单元11077,用于当判断单元11074判定在目标窗口的父窗口的图像内不存在与目的窗口的图像相匹配的目标图像区域时,以目标窗口的父窗口作为目标窗口,并触发第一获取单元。
可选的,第一窗口的窗口信息包括目标程序的顶级窗口的标识信息和第一窗口在顶级窗口中的索引位置。
可选的,参考图14,第一获取模块1102包括:
第三获取单元11021,用于根据顶级窗口的标识信息获取顶级窗口的句柄;
第四获取单元11022,用于根据顶级窗口的句柄和第一窗口在顶级窗口中的索引位置,获取第一窗口的句柄。
可选的,顶级窗口为目的窗口的第n级父窗口,目的窗口在顶级窗口中的索引位置包括目的窗口的第i-1级父窗口在目标窗口的第i级父窗口中的第i索引位置,其中,n为正整数,i=1,2,……,n,目的窗口的第0级父窗口为目的窗口。
可选的,第四获取单元11022具体用于依次根据目的窗口的第j级父窗口和第j索引位置获取目的窗口的第j-1级父窗口的句柄,其中,j=n,n-1,……,1。
可选的,目的窗口的窗口信息还包括目的窗口的各级父窗口的各个子窗口的标识信息。
可选的,顶级窗口的标识信息可以包括程序标识和窗口类型,对于非顶级窗口,其标识信息可以包括窗口类名和窗口标题中的至少一种。
上面从模块化功能实体的角度对本发明实施例中的对窗口的操作装置进行了描述,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
请参阅图15,本发明实施例中计算机装置15一个实施例包括:
处理器1501以及存储器1502;
存储器1502用于存储计算机程序,处理器1501用于执行存储器1502中存储的计算机程序时,可以实现如下步骤:
预存目标程序的第一窗口的信息,第一窗口的信息包括第一窗口中的目的窗口的图像和第一窗口的窗口信息;
根据第一窗口的窗口信息获取第一窗口的句柄;
根据第一窗口的句柄获取第一窗口的图像;
判断在第一窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
若存在,则根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
在本发明的一些实施例中,若判定在目标窗口的图像内不存在目标图像区域,处理器1501用于执行存储器1502中存储的计算机程序时,还可以实现如下步骤:
以第一窗口作为目标窗口;
根据目标窗口的句柄获取目标窗口的父窗口的句柄;
根据目标窗口的父窗口的句柄获取目标窗口的父窗口的图像;
判断在目标窗口的父窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
若存在,则根据目标窗口的父窗口在屏幕内的位置信息和目标图像区域在目标窗口的父窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
可选的,若判定在目标窗口的父窗口的图像内不存在与目的窗口的图像相匹配的目标图像区域,处理器1501用于执行存储器1502中存储的计算机程序时,还可以实现如下步骤:
以目标窗口的父窗口作为目标窗口,并重复执行根据目标窗口的句柄获取目标窗口的父窗口的句柄的步骤。
可选的,第一窗口的窗口信息包括目标程序的顶级窗口的标识信息和第一窗口在顶级窗口中的索引位置。
可选的,处理器1501用于执行存储器1502中存储的计算机程序时,还可以实现如下步骤:
根据顶级窗口的标识信息获取顶级窗口的句柄;
根据顶级窗口的句柄和第一窗口在顶级窗口中的索引位置,获取第一窗口的句柄。
可以理解的是,上述说明的计算机装置中的处理器执行所述计算机程序时,也可以实现上述对应的各装置实施例中各单元的功能,此处不再赘述。示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述充电电流控制装置中的执行过程。例如,所述计算机程序可以被分割成上述充电电流控制装置中的各单元,各单元可以实现如上述相应充电电流控制装置说明的具体功能。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可包括但不仅限于处理器、存储器。本领域技术人员可以理解,处理器、存储器仅仅是计算机装置的示例,并不构成对计算机装置的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置还可以包括输入输出设备、网络接入设备、总线等。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
预存目标程序的第一窗口的信息,第一窗口的信息包括第一窗口中的目的窗口的图像和第一窗口的窗口信息;
根据第一窗口的窗口信息获取第一窗口的句柄;
根据第一窗口的句柄获取第一窗口的图像;
判断在第一窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
若存在,则根据第一窗口在屏幕内的位置信息和目标图像区域在第一窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
在本发明的一些实施例中,若判定在目标窗口的图像内不存在目标图像区域,计算机可读存储介质存储的计算机程序被处理器执行时,还可以实现如下步骤:
以第一窗口作为目标窗口;
根据目标窗口的句柄获取目标窗口的父窗口的句柄;
根据目标窗口的父窗口的句柄获取目标窗口的父窗口的图像;
判断在目标窗口的父窗口的图像内是否存在与目的窗口的图像相匹配的目标图像区域;
若存在,则根据目标窗口的父窗口在屏幕内的位置信息和目标图像区域在目标窗口的父窗口内的位置信息,确定目的窗口在屏幕内的位置信息;
根据目的窗口在屏幕内的位置信息对目的窗口进行操作。
可选的,若判定在目标窗口的父窗口的图像内不存在与目的窗口的图像相匹配的目标图像区域,计算机可读存储介质存储的计算机程序被处理器执行时,还可以实现如下步骤:
以目标窗口的父窗口作为目标窗口,并重复执行根据目标窗口的句柄获取目标窗口的父窗口的句柄的步骤。
可选的,第一窗口的窗口信息包括目标程序的顶级窗口的标识信息和第一窗口在顶级窗口中的索引位置。
可选的,计算机可读存储介质存储的计算机程序被处理器执行时,还可以实现如下步骤:
根据顶级窗口的标识信息获取顶级窗口的句柄;
根据顶级窗口的句柄和第一窗口在顶级窗口中的索引位置,获取第一窗口的句柄。
可以理解的是,所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在相应的一个计算机可读取存储介质中。基于这样的理解,本发明实现上述相应的实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种对窗口的操作方法,其特征在于,包括:
预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;
根据所述第一窗口的窗口信息获取所述第一窗口的句柄;
根据所述第一窗口的句柄获取所述第一窗口的图像;
判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
若存在,则根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
2.根据权利要求1所述的对窗口的操作方法,其特征在于,若判定在所述目标窗口的图像内不存在所述目标图像区域,所述方法还包括:
以第一窗口作为目标窗口;
根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;
根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;
判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
若存在,则根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
3.根据权利要求2所述的对窗口的操作方法,其特征在于,若判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域,所述方法还包括:
以所述目标窗口的父窗口作为所述目标窗口,并重复执行所述根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄的步骤。
4.根据权利要求1至3中任一项所述的对窗口的操作方法,其特征在于,所述第一窗口的窗口信息包括所述目标程序的顶级窗口的标识信息和所述第一窗口在所述顶级窗口中的索引位置。
5.根据权利要求4所述的对窗口的操作方法,其特征在于,根据所述第一窗口的窗口信息获取所述第一窗口的句柄包括:
根据所述顶级窗口的标识信息获取所述顶级窗口的句柄;
根据所述顶级窗口的句柄和所述第一窗口在所述顶级窗口中的索引位置,获取所述第一窗口的句柄。
6.一种对窗口的操作装置,其特征在于,包括:
存储模块,用于预存目标程序的第一窗口的信息,所述第一窗口的信息包括所述第一窗口中的目的窗口的图像和所述第一窗口的窗口信息;
第一获取模块,用于根据所述第一窗口的窗口信息获取所述第一窗口的句柄;
第二获取模块,用于根据所述第一窗口的句柄获取所述第一窗口的图像;
判断模块,用于判断在所述第一窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
确定模块,用于当所述判断模块判定在所述第一窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述第一窗口在屏幕内的位置信息和所述目标图像区域在所述第一窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
操作模块,用于在所述确定模块确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
7.根据权利要求6所述的对窗口的操作装置,其特征在于,所述装置还包括条件执行模块,所述条件执行模块包括:
第一赋值单元,用于当所述判断模块判定在所述第一窗口的图像内不存在所述目标图像区域时,以第一窗口作为目标窗口;
第一获取单元,用于根据所述目标窗口的句柄获取所述目标窗口的父窗口的句柄;
第二获取单元,用于在所述第一获取单元获取到所述目标窗口的父窗口的句柄之后,根据所述目标窗口的父窗口的句柄获取所述目标窗口的父窗口的图像;
判断单元,用于在所述第二获取单元获取到所述目标窗口的父窗口的图像之后,判断在所述目标窗口的父窗口的图像内是否存在与所述目的窗口的图像相匹配的目标图像区域;
确定单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内存在与所述目的窗口的图像相匹配的目标图像区域时,根据所述目标窗口的父窗口在屏幕内的位置信息和所述目标图像区域在所述目标窗口的父窗口内的位置信息,确定所述目的窗口在所述屏幕内的位置信息;
操作单元,用于在所述确定单元确定所述目的窗口在所述屏幕内的位置信息之后,根据所述目的窗口在所述屏幕内的位置信息对所述目的窗口进行操作。
8.根据权利要求7所述的对窗口的操作装置,其特征在于,所述条件执行模块还包括:
第二赋值单元,用于当所述判断单元判定在所述目标窗口的父窗口的图像内不存在与所述目的窗口的图像相匹配的目标图像区域时,以所述目标窗口的父窗口作为所述目标窗口,并触发所述第一获取单元。
9.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445838.6A CN109542440A (zh) | 2018-11-29 | 2018-11-29 | 对窗口的操作方法和装置、计算机装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811445838.6A CN109542440A (zh) | 2018-11-29 | 2018-11-29 | 对窗口的操作方法和装置、计算机装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542440A true CN109542440A (zh) | 2019-03-29 |
Family
ID=65851141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811445838.6A Pending CN109542440A (zh) | 2018-11-29 | 2018-11-29 | 对窗口的操作方法和装置、计算机装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542440A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689009A (zh) * | 2019-09-18 | 2020-01-14 | 北京三快在线科技有限公司 | 信息识别方法及装置、电子设备和计算机可读存储介质 |
CN113010416A (zh) * | 2021-02-26 | 2021-06-22 | 中国工商银行股份有限公司 | 银行柜面交易自动化测试方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308146B1 (en) * | 1998-10-30 | 2001-10-23 | J. D. Edwards World Source Company | System and method for simulating user input to control the operation of an application |
US20030126517A1 (en) * | 2001-07-27 | 2003-07-03 | Accordsqa | Automated software testing and validation system |
US20060156287A1 (en) * | 2005-01-11 | 2006-07-13 | International Business Machines Corporation | Auto conversion of tests between different functional testing tools |
CN101105768A (zh) * | 2007-07-26 | 2008-01-16 | 南京大学 | Windows平台下基于MSAA的GUI测试驱动方法 |
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
CN103366109A (zh) * | 2013-08-14 | 2013-10-23 | 德讯科技股份有限公司 | 一种基于数字图像识别算法的XWindow代填方法 |
CN103377119A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种非标准控件自动化测试方法和装置 |
CN103455414A (zh) * | 2012-06-04 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 获取控件的逻辑位置的方法及装置 |
CN104391797A (zh) * | 2014-12-09 | 2015-03-04 | 北京奇虎科技有限公司 | Gui控件的识别方法和装置 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN106776247A (zh) * | 2016-11-23 | 2017-05-31 | 腾云天宇科技(北京)有限公司 | 一种监控应用中控件的方法、服务器及系统 |
US20180164984A1 (en) * | 2016-12-09 | 2018-06-14 | Canon Kabushiki Kaisha | Control method and storage medium |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
-
2018
- 2018-11-29 CN CN201811445838.6A patent/CN109542440A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308146B1 (en) * | 1998-10-30 | 2001-10-23 | J. D. Edwards World Source Company | System and method for simulating user input to control the operation of an application |
US20030126517A1 (en) * | 2001-07-27 | 2003-07-03 | Accordsqa | Automated software testing and validation system |
US20060156287A1 (en) * | 2005-01-11 | 2006-07-13 | International Business Machines Corporation | Auto conversion of tests between different functional testing tools |
CN101105768A (zh) * | 2007-07-26 | 2008-01-16 | 南京大学 | Windows平台下基于MSAA的GUI测试驱动方法 |
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
CN103377119A (zh) * | 2012-04-23 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种非标准控件自动化测试方法和装置 |
CN103455414A (zh) * | 2012-06-04 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 获取控件的逻辑位置的方法及装置 |
CN103366109A (zh) * | 2013-08-14 | 2013-10-23 | 德讯科技股份有限公司 | 一种基于数字图像识别算法的XWindow代填方法 |
CN104794050A (zh) * | 2014-01-21 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、装置及系统 |
CN104391797A (zh) * | 2014-12-09 | 2015-03-04 | 北京奇虎科技有限公司 | Gui控件的识别方法和装置 |
CN106776247A (zh) * | 2016-11-23 | 2017-05-31 | 腾云天宇科技(北京)有限公司 | 一种监控应用中控件的方法、服务器及系统 |
US20180164984A1 (en) * | 2016-12-09 | 2018-06-14 | Canon Kabushiki Kaisha | Control method and storage medium |
CN108595329A (zh) * | 2018-04-23 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 一种应用测试方法、装置及计算机存储介质 |
Non-Patent Citations (8)
Title |
---|
CCMM: "Cobub无码埋点关键技术的实现", 《HTTPS://SEGMENTFAULT.COM/A/1190000011826959》 * |
CCMM: "Cobub无码埋点关键技术的实现", 《HTTPS://SEGMENTFAULT.COM/A/1190000011826959》, 2 November 2017 (2017-11-02), pages 2 * |
丁如敏: "《腾讯Andrdoid自动化测试实战》", 31 October 2016, 机械工业出版社, pages: 49 * |
候律: "基于控件路径的跨设备UI自动化测试方法", 《计算机系统应用》 * |
候律: "基于控件路径的跨设备UI自动化测试方法", 《计算机系统应用》, 15 October 2018 (2018-10-15) * |
朱方祥等: "一种Windows应用程序的GUI自动化遍历方法", 《计算机应用与软件》 * |
朱方祥等: "一种Windows应用程序的GUI自动化遍历方法", 《计算机应用与软件》, no. 11, 12 November 2018 (2018-11-12) * |
陈强: "《Swift细致入门与最佳实践》", 30 June 2016, 中国铁道出版社, pages: 417 - 418 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689009A (zh) * | 2019-09-18 | 2020-01-14 | 北京三快在线科技有限公司 | 信息识别方法及装置、电子设备和计算机可读存储介质 |
CN113010416A (zh) * | 2021-02-26 | 2021-06-22 | 中国工商银行股份有限公司 | 银行柜面交易自动化测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102473186B (zh) | 标记多个数字图像的系统和方法 | |
CN104063063B (zh) | 输入法的数学计算输入方法和输入法系统 | |
CN104572072B (zh) | 一种对基于mvc模式的程序的语言转换方法与设备 | |
CN108205493A (zh) | 一种代码检测方法、终端、服务器及系统 | |
US8276113B2 (en) | Dynamic highlighting of related artifacts in a UML diagram | |
CN109522086A (zh) | 对窗口的操作方法和装置、计算机装置及可读存储介质 | |
CN108733290A (zh) | 绘画控制方法、装置及电子设备 | |
CN108090568A (zh) | 认知机器人学分析器 | |
US9977655B2 (en) | System and method for automatic extraction of software design from requirements | |
CN108255706A (zh) | 自动化测试脚本的编辑方法、装置、终端设备及存储介质 | |
CN109542440A (zh) | 对窗口的操作方法和装置、计算机装置及可读存储介质 | |
CN111814487A (zh) | 一种语义理解方法、装置、设备及存储介质 | |
CN105468161A (zh) | 指令执行方法和装置 | |
CN109947811A (zh) | 通用特征库生成方法及装置、存储介质、电子设备 | |
CN111160638B (zh) | 一种转化预估方法及装置 | |
CN107729897A (zh) | 一种文本操作方法、装置及终端 | |
CN109359582A (zh) | 信息搜索方法、信息搜索装置及移动终端 | |
CN104081347A (zh) | 运算次序的图形表示 | |
CN105653528A (zh) | 一种业务字段多态展示的方法及装置 | |
CN110516654A (zh) | 视频场景的实体识别方法、装置、电子设备和介质 | |
CN113902394A (zh) | 一种实现人工智能产业生态化的服务平台 | |
CN112732379B (zh) | 智能终端上应用程序的运行方法、终端和存储介质 | |
CN108369589A (zh) | 提供用于对通信进行分类的自动主题标签建议 | |
CN108898648A (zh) | 一种k线图构造方法、系统及相关设备 | |
CN109693244A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |