一种运维审计系统用图形程序代填的方法与流程

未命名 07-15 阅读:161 评论:0

automation属性或操作区域图片,并使用ui automation属性或图片对控件进行定位和模拟键盘和鼠标操作,代替用户进行填写。
6.本发明主要通过以下技术方案实现:一种运维审计系统用图形程序代填的方法,包括以下步骤:步骤s100:录制部分:启动图形程序,监听用户对于图形程序的控件操作,记录操作的控件信息和操作内容,并将指定操作步骤标记为代填信息的输入,生成步骤文件;在记录操作的控件信息的过程中,基于microsoft ui automation来对控件进行识别,若控件能够被识别,则记录用户操作控件的属性,否则,对用户操作区域进行截图,将截取的图片作为控件属性进行记录,以实现使用记录的属性对图形程序的控件进行操作和定位;步骤s200:重放部分:将录制生成的步骤文件和运维审计系统中用户需要代填的信息作为重放程序的参数,重放程序合并替换代填信息,并根据步骤文件中的步骤依次执行,从实现对图形程序进行代填信息输入操作。
7.为了更好地实现本发明,进一步地,所述步骤s100中,在记录操作的控件信息的过程中,记录操作控件的ui automation属性,当接收到系统发送的用户的操作后,使用python的ui automation的controlfrom cursor方法获取当前操作的控件和采用get top level control方法获取当前操作对应的窗体,对比当前控件和当前窗体是否均为同一控件,进而判断控件是否被支持;如果能够支持,使用属性唯一标识符生成算法对操作控件生成唯一标识符,并记录对应的操作内容。
8.为了更好地实现本发明,进一步地,所述步骤s100中,控件在ui automation中以树状的形式进行组织,可以逐级查找,唯一标识符可依赖控件的父级控件的唯一标识符和自己的属性进行组合。
9.为了更好地实现本发明,进一步地,所述步骤s100中,属性唯一标识符生成算法如下:步骤a1:获取操作窗体的属性;步骤a2:获取操作控件的属性;步骤a3:在窗体下,使用ui automation属性组合搜索判断控件的属性是否唯一,若唯一,则使用控件的属性作为唯一标识符;步骤a4:获取操作控件的父控件的属性;步骤a5:在窗体下,使用ui automation属性搜索判断父控件的属性是否唯一,若唯一,则使用父控件的属性和与操作控件的层级关系一起作为唯一标识符;步骤a6:重复步骤a4、步骤a5;对控件进行逐级向上查找,直至找到唯一属性。
10.为了更好地实现本发明,进一步地,所述步骤s100具体包括以下步骤:步骤s120:启动图形程序,设置窗口属性;步骤s130:监听用户操作;步骤s140:判断控件是否能被识别,若控件能够被识别,则使用控件、父控件、同级控件生成唯一标识;否则对操作区域进行截图;步骤s150:标记操作步骤为代填,生成步骤文件。
11.为了更好地实现本发明,进一步地,所述步骤s200具体包括以下步骤;步骤s210:分别获取步骤文件、代填信息;
步骤s220:启动重放程序、图形程序,合并代填信息,执行代填步骤;步骤s230:判断控件的属性是否有唯一标识,若有,则使用唯一属性定位控件,执行操作;否则进行窗口截图,利用opencv定位控件属性中记录的图片在截图的中位置,来确定控件的坐标,执行操作。
12.microsoft uiautomation: microsoft ui 自动化是适用于 microsoft windows 的新辅助功能框架。是microsoft windows提供的允许访问、识别和操作应用程序的用户界面元素一种应用程序编程接口,它提供对桌面上大多数 ui 元素的编程访问。
13.mfc:微软基础类库(microsoft foundation classes)是微软公司提供的一个类库(class libraries),以c++类的形式封装了windows api,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量windows句柄封装类和很多windows的内建控件和组件的封装类。
14.wpf:windows presentation foundation是微软推出的基于windows 的用户界面框架,属于.net framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
15.qt:由qt company开发的跨平台c++图形用户界面应用程序开发框架。
16.electron:是使用javascript,html和css构建跨平台的桌面应用程序框架。
17.本发明的有益效果:(1)本发明通过使用microsoft ui automation技术,通过记录用户操作控件的ui automation属性或操作区域图片,并使用ui automation属性或图片对控件进行定位和模拟键盘和鼠标操作,代替用户进行填写;本发明利用microsoftui automation技术来对控件进行识别,技术本身支持更多种控件,对于支持的控件则采用控件唯一标识;不支持的控件,将用户操作区域进行截图,使用时将当前操作窗口截图和操作图片使用opencv计算图片位置信息,实现操作定位,应用性更广泛;(2)本发明利用树的形式来组织和访问控件,使用控件,父控件和同层级的其他控件的属性共同通过唯一标识符生成算法,自动计算出该控件在窗体中的唯一标识,在以树的方式进行查找效率高且准确,对比autoit 仅使用窗口标题和控件自身属性,定位更加准确;使用唯一标识对图形程序的控件进行定位,不需要计算屏幕位置坐标,应用更广泛,适应性更强。
附图说明
18.图1为录制部分的流程图;图2为重放部分的流程图。
具体实施方式
19.实施例1:一种运维审计系统用图形程序代填的方法,包括以下步骤:步骤s100:录制部分:启动图形程序,监听用户对于图形程序的控件操作,记录操作的控件信息和操作内容,并将指定操作步骤标记为代填信息的输入,生成步骤文件;在记
录操作的控件信息的过程中,基于microsoft ui automation来对控件进行识别,若控件能够被识别,则记录用户操作控件的属性,否则,对用户操作区域进行截图,将截取的图片作为控件属性进行记录,以实现使用记录的属性对图形程序的控件进行操作和定位;步骤s200:重放部分:将录制生成的步骤文件和运维审计系统中用户需要代填的信息作为重放程序的参数,重放程序合并替换代填信息,并根据步骤文件中的步骤依次执行,从实现对图形程序进行代填信息输入操作。
20.优选地,所述步骤s100中,在记录操作的控件信息的过程中,记录操作控件的ui automation属性,当接收到系统发送的用户的操作后,使用python的ui automation的controlfrom cursor方法获取当前操作的控件和采用get top level control方法获取当前操作对应的窗体,对比当前控件和当前窗体是否均为同一控件,进而判断控件是否被支持;如果能够支持,使用属性唯一标识符生成算法对操作控件生成唯一标识符,并记录对应的操作内容。
21.优选地,所述步骤s100中,控件在ui automation中以树状的形式进行组织,可以逐级查找,唯一标识符可依赖控件的父级控件的唯一标识符和自己的属性进行组合。
22.优选地,所述步骤s100中,属性唯一标识符生成算法如下:步骤a1:获取操作窗体的属性;步骤a2:获取操作控件的属性;步骤a3:在窗体下,使用ui automation属性组合搜索判断控件的属性是否唯一,若唯一,则使用控件的属性作为唯一标识符;步骤a4:获取操作控件的父控件的属性;步骤a5:在窗体下,使用ui automation属性搜索判断父控件的属性是否唯一,若唯一,则使用父控件的属性和与操作控件的层级关系一起作为唯一标识符;步骤a6:重复步骤a4、步骤a5;对控件进行逐级向上查找,直至找到唯一属性。
23.本发明通过使用microsoft ui automation技术,通过记录用户操作控件的ui automation属性或操作区域图片,并使用ui automation属性或图片对控件进行定位和模拟键盘和鼠标操作,代替用户进行填写;本发明利用microsoft uiautomation技术来对控件进行识别,技术本身支持更多种控件,对于支持的控件则采用控件唯一标识;不支持的控件,将用户操作区域进行截图,使用时将当前操作窗口截图和操作图片使用opencv计算图片位置信息,实现操作定位,应用性更广泛。
24.实施例2:一种运维审计系统用图形程序代填的方法,使用microsoft ui automation技术,对能够支持的控件记录用户操作控件的属性,不支持记录用户操作区域进行截图,然后使用记录的属性对图形程序的控件进行操作和定位,从而实现运维审计系统的图形程序代填。主要是分为录制和重放两个部分。
25.录制部分:使用录制软件启动图形程序,监听用户对于图形程序的控件操作,录制软件记录操作的控件信息和操作内容,并将指定操作步骤标记为代填信息的输入,生成步骤文件。
26.重放部分:将录制生成的步骤文件和运维审计系统中用户需要代填的信息作为重放程序的参数,重放程序合并替换代填信息,并根据步骤文件中的步骤依次执行,从实现对
图形程序进行代填信息输入操作。
27.优选地,如图1、图2所示,具体包括以下步骤:步骤s100:录制部分:步骤s120:启动图形程序,设置窗口属性;步骤s130:监听用户操作;步骤s140:判断控件是否能被识别,若控件能够被识别,则使用控件、父控件、同级控件生成唯一标识;否则对操作区域进行截图;步骤s150:标记操作步骤为代填,生成步骤文件。
28.步骤s200:重放部分:步骤s210:分别获取步骤文件、代填信息;步骤s220:启动重放程序、图形程序,合并代填信息,执行代填步骤;步骤s230:判断控件的属性是否有唯一标识,若是,则执行操作;否则进行窗口截图,利用opencv定位控件属性中记录的图片在截图的中位置,来确定控件的坐标,执行操作。
29.优选地,在记录操作控件uiautomation属性的步骤中,当操作录制程序接收到系统发送的用户的操作后,使用python的uiautomation的controlfromcursor方法获取当前操作的控件和gettoplevelcontrol方法获取当前操作对应的窗体,对比当前控件和当前窗体是否同均为同一控件来判断控件是否被支持,如果不能支持,对操作区域进行截图;如果能够支持,使用属性唯一标识符生成算法对操作控件生成唯一标识符,并记录对应的操作内容。控件在uiautomation中以树状的形式进行组织,可以逐级查找,唯一标识可依赖控件的父级控件的唯一标识和自己的属性进行组合。
30.优选地,具体唯一标识生成算法如下:1. 获取操作窗体的属性(id,name,classname,controltype)。
31.2. 获取操作控件的属性(id,name classname controltype)。
32.3. 在窗体下使用uiautomation属性组合搜索判断是否唯一,唯一则使用作为唯一标识符。
33.4. 获取操作控件的父控件的属性。
34.5. 使用uiautomation属性在窗体下搜索判断是否唯一,唯一则使用作为属性和与操作控件的层级关系一起唯一标识符。
35.6. 重复4,5步骤;对控件进行逐级向上查找,直至找到唯一属性。
36.本发明利用microsoft ui automation技术来对控件进行识别,技术本身支持更多种控件,对于支持的控件则采用控件唯一标识;不支持的控件,将用户操作区域进行截图,使用时将当前操作窗口截图和操作图片使用opencv计算图片位置信息,实现操作定位,应用性更广泛;本发明利用树的形式来组织和访问控件,使用控件,父控件和同层级的其他控件的属性共同通过唯一标识符生成算法,自动计算出该控件在窗体中的唯一标识,在以树的方式进行查找效率高且准确,对比autoit 仅使用窗口标题和控件自身属性,定位更加准确;使用唯一标识对图形程序的控件进行定位,不需要计算屏幕位置坐标,应用更广泛,适应性更强。
37.以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

技术特征:
1.一种运维审计系统用图形程序代填的方法,其特征在于,包括以下步骤:步骤s100:录制部分:启动图形程序,监听用户对于图形程序的控件操作,记录操作的控件信息和操作内容,并将指定操作步骤标记为代填信息的输入,生成步骤文件;在记录操作的控件信息的过程中,基于microsoft ui automation来对控件进行识别,若控件能够被识别,则记录用户操作控件的属性,否则,对用户操作区域进行截图,将截取的图片作为控件属性进行记录,以实现使用记录的属性对图形程序的控件进行操作和定位;步骤s200:重放部分:将录制生成的步骤文件和运维审计系统中用户需要代填的信息作为重放程序的参数,重放程序合并替换代填信息,并根据步骤文件中的步骤依次执行,从实现对图形程序进行代填信息输入操作。2.根据权利要求1所述的一种运维审计系统用图形程序代填的方法,其特征在于,所述步骤s100中,在记录操作的控件信息的过程中,记录操作控件的ui automation属性,当接收到系统发送的用户的操作后,使用python的ui automation的control from cursor方法获取当前操作的控件和采用get top level control方法获取当前操作对应的窗体,对比当前控件和当前窗体是否均为同一控件,进而判断控件是否被支持;如果能够支持,使用属性唯一标识符生成算法对操作控件生成唯一标识符,并记录对应的操作内容。3.根据权利要求2所述的一种运维审计系统用图形程序代填的方法,其特征在于,所述步骤s100中,控件在ui automation中以树状的形式进行组织,可以逐级查找,唯一标识符可依赖控件的父级控件的唯一标识符和自己的属性进行组合。4.根据权利要求3所述的一种运维审计系统用图形程序代填的方法,其特征在于,所述步骤s100中,属性唯一标识符生成算法如下:步骤a1:获取操作窗体的属性;步骤a2:获取操作控件的属性;步骤a3:在窗体下,使用ui automation属性组合搜索判断控件的属性是否唯一,若唯一,则使用控件的属性作为唯一标识符;步骤a4:获取操作控件的父控件的属性;步骤a5:在窗体下,使用ui automation属性搜索判断父控件的属性是否唯一,若唯一,则使用父控件的属性和与操作控件的层级关系一起作为唯一标识符;步骤a6:重复步骤a4、步骤a5;对控件进行逐级向上查找,直至找到唯一属性。5.根据权利要求1-4任一项所述的一种运维审计系统用图形程序代填的方法,其特征在于,所述步骤s100具体包括以下步骤:步骤s120:启动图形程序,设置窗口属性;步骤s130:监听用户操作;步骤s140:判断控件是否能被识别,若控件能够被识别,则使用控件、父控件、同级控件生成唯一标识;否则对操作区域进行截图;步骤s150:标记操作步骤为代填,生成步骤文件。6.根据权利要求1-4任一项所述的一种运维审计系统用图形程序代填的方法,其特征在于,所述步骤s200具体包括以下步骤;步骤s210:分别获取步骤文件、代填信息;步骤s220:启动重放程序、图形程序,合并代填信息,执行代填步骤;
步骤s230:判断控件的属性是否有唯一标识,若有,则使用唯一属性定位控件,执行操作;否则进行窗口截图,利用opencv定位控件属性中记录的图片在截图的中位置,来确定控件的坐标,执行操作。

技术总结
本发明公开了一种运维审计系统用图形程序代填的方法,包括录制和重放两个部分,在录制部分的记录操作的控件信息的过程中,基于Microsoft UI Automation来对控件进行识别,若控件能够被识别,则记录用户操作控件的属性,否则,对用户操作区域进行截图,以实现使用记录的属性对图形程序的控件进行操作和定位。本发明利用树的形式来组织和访问控件,使用控件,父控件和同层级的其他控件的属性共同通过唯一标识符生成算法,自动计算出该控件在窗体中的唯一标识,查找效率高且准确,定位更加准确;使用唯一标识对图形程序的控件进行定位,不需要计算屏幕位置坐标,应用更广泛,适应性更强。更强。更强。


技术研发人员:孙其灵 郑学新 周虎
受保护的技术使用者:成都安恒信息技术有限公司
技术研发日:2023.03.15
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐