Windows系统用户操作模拟方法、系统、终端及存储介质

阅读: 评论:0

著录项
  • CN202110940101.7
  • 20210817
  • CN113395360A
  • 20210914
  • 苏州浪潮智能科技有限公司
  • 刘小雪;吴亚男
  • H04L29/08
  • H04L29/08 G06F9/54

  • 江苏省苏州市吴中经济开发区郭巷街道官浦路1号9幢
  • 江苏(32)
  • 济南舜源专利事务所有限公司
  • 孙玉营
摘要
本发明提供一种Windows系统用户操作模拟方法、系统、终端及存储介质,包括:通过远程管理服务连接目标Windows系统服务器;根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;从所述代码基本信息中定位程序控件;对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;执行所述控件程序自动获取对目标Windows系统服务器的需求数据。本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取。
权利要求

1.一种Windows系统用户操作模拟方法,其特征在于,包括:

通过远程管理服务连接目标Windows系统服务器;

根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

从所述代码基本信息中定位程序控件;

对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

2.根据权利要求1所述的方法,其特征在于,通过远程管理服务连接目标Windows系统服务器,包括:

批量连接多个目标Windows系统服务器;

设置多个目标Windows系统服务器开启远程管理服务且均为免密登录。

3.根据权利要求2所述的方法,其特征在于,批量连接多个目标Windows系统服务器,包括:

创建多个线程同时连接多个目标Windows系统服务器。

4.根据权利要求1所述的方法,其特征在于,根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码,包括:

向所述申请对象写入所述程序的程序名称和程序存储地址;

调用申请对象根据程序名称和程序存储地址启动所述程序;

建立桌面对象,利用桌面对象导出所述程序的基础代码。

5.根据权利要求1所述的方法,其特征在于,从所述代码基本信息中定位程序控件,包括:

解析所述程序的基础代码的编码类型;

根据预先设定的不同编码类型对应的控件标志规则和所述程序的基础代码的编码类型,确定所述程序的目标控件标志;

根据目标控件标志从程序的基础代码中定位程序控件。

6.根据权利要求1所述的方法,其特征在于,对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序,包括:

根据在Windows系统中执行各程序控件的操作行为,对程序部件进行分类,并为各类程序控件统一匹配行为键值;

按各程序控件在所述程序中的执行逻辑,将匹配行为键值的所有程序控件封装为控件程序。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

通过远程管理服务从Windows系统的事件管理器采集系统日志,并对系统日志进行异常筛选;

若获取目标Windows系统服务器的设备信息,则通过Windows系统支持的远程管理服务对象采集目标设备信息。

8.一种Windows系统用户操作模拟系统,其特征在于,包括:

远程管理单元,用于通过远程管理服务连接目标Windows系统服务器;

代码获取单元,用于根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

控件定位单元,用于从所述代码基本信息中定位程序控件;

键值匹配单元,用于对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

数据获取单元,用于执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

9.一种终端,其特征在于,包括:

处理器;

用于存储处理器的执行指令的存储器;

其中,所述处理器被配置为执行权利要求1-7任一项所述的方法。

10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。

说明书
技术领域

本发明涉及Windows系统服务器测试技术领域,具体涉及一种Windows系统用户操作模拟方法、系统、终端及存储介质。

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一。常见的操作系统有Windows操作系统和linux系统,Windows操作系统和linux系统的区别在于:Windows软件支持丰富,Windows易用性高,Linux操作系统有一定的门槛,Linux使用命令行字符模式为主要操作方式,Windows使用窗口、图标、鼠标点击形象化的方式为主要操作方式,如果不懂命令行,基本使用Linux是寸步难行的。inux市场主攻服务器市场,Windows系统主打桌面市场,Linux主要应用于网络,而Windows操作系统最开始应用于打印服务。Linux安全性比Windows安全性高,要求它更加可靠。Linux具有强大的命令行功能,因此在执行自动程序时可以通过各种命令行实现,执行过程中无需人工操作。

在服务器生产行业或数据中心等领域,需要对大量的服务器进行基础测试获取一些基础参数。目前,在服务器测试及维护中,当操作系统为Windows时,获取服务器信息及对服务器进行压测时需借助第三方工具进行获取,无法像操作linux服务器那样通过执行系统命令来获取需要的参数。传统方式下,测试人员(或维护人员)在批量获取Windows服务器的某些指标时,很多情况下需借助测试工具进行使用。每执行一次操作,都人为执行工具并手动输入某些信息,才可以调用工具。每次手动输入客户端信息进行连接,不但耗费时间;只能对客户端进行单次处理,效率比较低。并且无法记录执行的操作内容,不利于统一管理。

针对现有技术存在的效率低且无法记录的技术问题,本发明提供一种Windows系统数据自动获取方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种Windows系统数据自动获取方法,包括:

通过远程管理服务连接目标Windows系统服务器;

根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

从所述代码基本信息中定位程序控件;

对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

进一步的,通过远程管理服务连接目标Windows系统服务器,包括:

批量连接多个目标Windows系统服务器;

设置多个目标Windows系统服务器开启远程管理服务且均为免密登录。

进一步的,批量连接多个目标Windows系统服务器,包括:

创建多个线程同时连接多个目标Windows系统服务器。

进一步的,根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码,包括:

向所述申请对象写入所述程序的程序名称和程序存储地址;

调用申请对象根据程序名称和程序存储地址启动所述程序;

建立桌面对象,利用桌面对象导出所述程序的基础代码。

进一步的,从所述代码基本信息中定位程序控件,包括:

解析所述程序的基础代码的编码类型;

根据预先设定的不同编码类型对应的控件标志规则和所述程序的基础代码的编码类型,确定所述程序的目标控件标志;

根据目标控件标志从程序的基础代码中定位程序控件。

进一步的,对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序,包括:

根据在Windows系统中执行各程序控件的操作行为,对程序部件进行分类,并为各类程序控件统一匹配行为键值;

按各程序控件在所述程序中的执行逻辑,将匹配行为键值的所有程序控件封装为控件程序。

进一步的,所述方法还包括:

通过远程管理服务从Windows系统的事件管理器采集系统日志,并对系统日志进行异常筛选;

若获取目标Windows系统服务器的设备信息,则通过Windows系统支持的远程管理服务对象采集目标设备信息。

第二方面,本发明提供一种Windows系统数据自动获取系统,包括:

远程管理单元,用于通过远程管理服务连接目标Windows系统服务器;

代码获取单元,用于根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

控件定位单元,用于从所述代码基本信息中定位程序控件;

键值匹配单元,用于对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

数据获取单元,用于执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

进一步的,所述远程管理单元用于:

批量连接多个目标Windows系统服务器;

设置多个目标Windows系统服务器开启远程管理服务且均为免密登录。

进一步的,所述远程管理单元还用于:

创建多个线程同时连接多个目标Windows系统服务器。

进一步的,所述代码获取单元用于:

向所述申请对象写入所述程序的程序名称和程序存储地址;

调用申请对象根据程序名称和程序存储地址启动所述程序;

建立桌面对象,利用桌面对象导出所述程序的基础代码。

进一步的,所述控件定位单元用于:

解析所述程序的基础代码的编码类型;

根据预先设定的不同编码类型对应的控件标志规则和所述程序的基础代码的编码类型,确定所述程序的目标控件标志;

根据目标控件标志从程序的基础代码中定位程序控件。

进一步的,所述键值匹配单元用于:

根据在Windows系统中执行各程序控件的操作行为,对程序部件进行分类,并为各类程序控件统一匹配行为键值;

按各程序控件在所述程序中的执行逻辑,将匹配行为键值的所有程序控件封装为控件程序。

进一步的,所述系统还包括:

日志获取单元,用于通过远程管理服务从Windows系统的事件管理器采集系统日志,并对系统日志进行异常筛选;

设备获取单元,用于若获取目标Windows系统服务器的设备信息,则通过Windows系统支持的远程管理服务对象采集目标设备信息。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的Windows系统数据自动获取方法,通过远程管理服务连接目标Windows系统服务器;然后通过初始化申请对象启动数据采集程序并在程序启动后导出;然后解析代码从代码基本信息中定位程序控件;通过对程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;执行该控件程序即可自动获取对目标Windows系统服务器的需求数据。本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取,且可以批量测试Windows系统服务器,大大提高了Windows系统服务器的测试和维护效率。

本发明提供的Windows系统数据自动获取系统,通过远程管理单元利用远程管理服务连接目标Windows系统服务器;然后代码获取单元通过初始化申请对象启动数据采集程序并在程序启动后导出;然后控件定位单元解析代码从代码基本信息中定位程序控件;键值匹配单元通过对程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;数据获取单元执行该控件程序即可自动获取对目标Windows系统服务器的需求数据。本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取,且可以批量测试Windows系统服务器,大大提高了Windows系统服务器的测试和维护效率。

本发明提供终端,包括运行Windows系统数据自动获取方法的处理器,本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取,且可以批量测试Windows系统服务器,大大提高了Windows系统服务器的测试和维护效率。

本发明提供的存储介质,存储有执行Windows系统数据自动获取方法的程序,本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取,且可以批量测试Windows系统服务器,大大提高了Windows系统服务器的测试和维护效率。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的系统的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面对本发明中出现的关键术语进行解释。

事件管理器,微软在以Windows系统为内核的操作系统中都集成有事件管理器,它是 Microsoft Windows 操作系统工具。事件管理器是重要的系统管理软件。

设备管理器是一种管理工具,可用它来管理计算机上的设备。可以使用“设备管理器”查看和更改设备属性、更新设备驱动程序、配置设备设置和卸载设备。设备管理器提供计算机上所安装硬件的图形视图。所有设备都通过一个称为“设备驱动程序”的软件与Windows 通信。使用设备管理器可以安装和更新硬件设备的驱动程序、修改这些设备的硬件设置以及解决问题。

BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

申请对象(Application 对象)的主要功能是用来存储和获取可以被所有用户之间进行共享的信息,它具有集合、方法和事件,但不具备属性。

桌面对象(DeskTop对象)通过DESKTOP对象可以访问windows的桌面顶层对象。Desktop 类是java的桌面类,可以启动程序,是jdk 1.6 时发布的,位于 java.awt 包下。可以支持以下几种功能:open 打开文件;edit 编辑文件;print 打印文件;mail 发送邮件;browse 浏览器打开网址。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种Windows系统数据自动获取系统。

如图1所示,该方法包括:

步骤110,通过远程管理服务连接目标Windows系统服务器;

步骤120,根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

步骤130,从所述代码基本信息中定位程序控件;

步骤140,对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

步骤150,执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

为了便于对本发明的理解,下面以本发明Windows系统数据自动获取方法的原理,结合实施例中对Windows系统数据进行自动获取的过程,对本发明提供的Windows系统数据自动获取方法做进一步的描述。

具体的,所述Windows系统数据自动获取方法包括:

S1、通过远程管理服务连接目标Windows系统服务器。

批量连接多个目标Windows系统服务器;设置多个目标Windows系统服务器开启远程管理服务且均为免密登录。且创建多个线程同时连接多个目标Windows系统服务器。

Linux服务器连接linux服务器一般都是通过SSH服务进行连接,linux服务器默认开启ssh服务;但是windows服务器的ssh服务并未默认开启,因此需要在远程连接方式中选取一种方式。

本实施例采取通过winrm服务连接(远程管理)目标windows服务器,首先在待测机器上启用WinRM会话配置,执行机通过winrm进行连接。

为了进一步提供测试效率,获取服务器的全量登录信息,每个windows服务器对象继承服务器类,继承Thread类(重写Thread类的run方法),并开启多个线程对象连接多台服务器,进行批量连接待测windows服务器,批量连接方法如下:

(1)开启服务器winrm操作:

a.针对winrm service 进行基础配置:winrm quickconfig

b.查看winrm service listener:winrm e winrm/config/listener

c.为winrm service 配置auth:winrm set winrm/config/service/auth @{Basic="true"}

执行流程说明:

d.为winrm service 配置加密方式为允许非加密:winrm set winrm/config/service @{AllowUnencrypted="true"}

(2)创建多线程,连接服务器

定义服务器基础类,并根据每台服务器的用户名、密码、IP进行初始化,创建多个线程,并通过winrm进行连接,从而获取多个服务器连接句柄。

S2、根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码。

向所述申请对象写入所述程序的程序名称和程序存储地址;调用申请对象根据程序名称和程序存储地址启动所述程序;建立桌面对象,利用桌面对象导出所述程序的基础代码。

在代码中初始化一个Application对象,传入获取服务器数据的应用程序的程序路径及程序名称,利用Application对象自动启动该应用程序。建立DeskTop对象,应用程序启动后,通过此对象的print_control_identifiers方法进行导出,获取程序的基础代码。即通过Application对象打开应用程序后,根据此程序进程的名字进行代码导出。

S3、从所述代码基本信息中定位程序控件。

解析所述程序的基础代码的编码类型;根据预先设定的不同编码类型对应的控件标志规则和所述程序的基础代码的编码类型,确定所述程序的目标控件标志;根据目标控件标志从程序的基础代码中定位程序控件。

准确控制工具中的控件时,就需要获取程序中控件元素的唯一标志。在定位Windows可执行exe程序中的控件时,首先需要知道可执行exe程序的编码语言,不同编码的程序对应的解析方式不一致。

具体的,导出的代码数据中包括当前打开页面的可见及隐藏控件及程序当前页面整体的信息,其中每个控件包含类ID、类属性、类相对坐标、static名、父类及子类的关系、程序的TREE级目录。当获取到程序中信息文件时,定位到控件时,可以通过窗口名、父类ID、控件ID进行定位。

S4、对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序。

根据在Windows系统中执行各程序控件的操作行为,对程序部件进行分类,并为各类程序控件统一匹配行为键值;按各程序控件在所述程序中的执行逻辑,将匹配行为键值的所有程序控件封装为控件程序。

首先将常用的工具控件进行分类:按钮(Button)、输出框(Input)、列表框(ListBox)、复选框(CheckBox)、菜单(Memu)等。对程序的人工操作行为进行分析,针对每一种行为进行方法封装。例如某个控件属于按钮,需要点击,则该控件的匹配行为键值就是click。

具体流程如下:

(1)获取键值对应表,当用户在控件中在键盘上进行输入时,程序自动进行键值输入。

BACKSPACE {BACKSPACE}、{BS} 或 {BKSP}

BREAK {BREAK}

CAPS LOCK {CAPSLOCK}

DEL 或 DELETE {DELETE} 或 {DEL}

END {END}

ENTER {ENTER} 或 ~

ESC {ESC}

LEFT ARROW(左箭头) {LEFT}

RIGHT ARROW(右箭头) {RIGHT}

SCROLL LOCK {SCROLLLOCK}

TAB {TAB}

UP ARROW(上箭头) {UP}

(2)将匹配行为键值嵌入相应的程序控件,并按照各程序控件在程序中的执行逻辑(执行顺序)将嵌入匹配行为键值的程序控件仍封装为方法程序。

以控件模拟以button控件、input输出框控件为例:

click控件:分析用户对button控件的操作,主要操作行为为:单击、双击、

左键点击、右键点击,以右键点击事件为例,实现代码如下(除实现点击事件外,还需实现下移及回车)

def right_click(self, window_name, controller, order):

"""

鼠标右键点击,下移进行菜单选择

window_name : 窗口名

controller:区域名

order : 数字,第几个命令

"""

self.app[window_name][controller].RightClick()

for down in range(order):

SendKeys.SendKeys('{DOWN}')

time.sleep(0.5)

SendKeys.SendKeys('{ENTER}')

time.sleep(1)

Input输入框:Input输入内容时,首先需要鼠标定位到当前输入框,清空当前内容,再进行输入。

self.app[window_name][controller].type_keys('{END}')

self.app[window_name][controller].type_keys('{BACKSPACE}' * 50)

self.app[window_name][controller].type_keys(content)

S5、执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

(1)通过远程管理服务从Windows系统的事件管理器采集系统日志,并对系统日志进行异常筛选。

通过远程管理服务循环遍历事件管理器中的每条日志,获取日志的级别( level_value)、时间戳、内容等信息,进行信息打印。当监测到服务器指标异常时,进行信息采集,并监控。

(2)若获取目标Windows系统服务器的设备信息,则通过Windows系统支持的远程管理服务对象采集目标设备信息。

Windows设备信息是Windows设备管理器中提供的信息,由于设备管理器联动控制很多,不利于进行控件控制。因此可以通过Windows支持的wmi.WMI()对象进行获取,例如获取BIOS信息。

使用日期: Win32_BIOS().Description

主板型号: Win32_BIOS().SerialNumber

当前语言: Win32_BIOS().CurrentLanguage

如图2所示,该系统200包括:

远程管理单元210,用于通过远程管理服务连接目标Windows系统服务器;

代码获取单元220,用于根据对目标Windows系统服务器的数据获取需求,为采集数据的程序初始化一个申请对象,利用所述申请对象启动所述程序并在程序启动后获取程序的基础代码;

控件定位单元230,用于从所述代码基本信息中定位程序控件;

键值匹配单元240,用于对所述程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;

数据获取单元250,用于执行所述控件程序自动获取对目标Windows系统服务器的需求数据。

可选地,作为本发明一个实施例,所述远程管理单元用于:

批量连接多个目标Windows系统服务器;

设置多个目标Windows系统服务器开启远程管理服务且均为免密登录。

可选地,作为本发明一个实施例,所述远程管理单元还用于:

创建多个线程同时连接多个目标Windows系统服务器。

可选地,作为本发明一个实施例,所述代码获取单元用于:

向所述申请对象写入所述程序的程序名称和程序存储地址;

调用申请对象根据程序名称和程序存储地址启动所述程序;

建立桌面对象,利用桌面对象导出所述程序的基础代码。

可选地,作为本发明一个实施例,所述控件定位单元用于:

解析所述程序的基础代码的编码类型;

根据预先设定的不同编码类型对应的控件标志规则和所述程序的基础代码的编码类型,确定所述程序的目标控件标志;

根据目标控件标志从程序的基础代码中定位程序控件。

可选地,作为本发明一个实施例,所述键值匹配单元用于:

根据在Windows系统中执行各程序控件的操作行为,对程序部件进行分类,并为各类程序控件统一匹配行为键值;

按各程序控件在所述程序中的执行逻辑,将匹配行为键值的所有程序控件封装为控件程序。

可选地,作为本发明一个实施例,所述系统还包括:

日志获取单元,用于通过远程管理服务从Windows系统的事件管理器采集系统日志,并对系统日志进行异常筛选;

设备获取单元,用于若获取目标Windows系统服务器的设备信息,则通过Windows系统支持的远程管理服务对象采集目标设备信息。

图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的Windows系统数据自动获取方法。

其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

因此,本发明通过远程管理服务连接目标Windows系统服务器;然后通过初始化申请对象启动数据采集程序并在程序启动后导出;然后解析代码从代码基本信息中定位程序控件;通过对程序进行行为分析,为各程序控件匹配行为键值,并通过方法封装将匹配行为键值的所有程序控件封装为控件程序;执行该控件程序即可自动获取对目标Windows系统服务器的需求数据。本发明通过将需人工操作的程序拆分为控件,并为控件匹配操作键值,实现人工操作程序的模拟,能够实现Windows系统服务器基础数据或测试数据的自动获取,且可以批量测试Windows系统服务器,大大提高了Windows系统服务器的测试和维护效率,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

本文发布于:2023-04-14 23:19:46,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87459.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图