一种用于远程测试的方法与设备与流程

文档序号:13876219阅读:403来源:国知局
一种用于远程测试的方法与设备与流程

本申请涉及计算机领域,尤其涉及一种用于远程测试的技术。



背景技术:

随着互联网的发展,为了满足日益增加的数据访问需求,承载操作系统的服务器或主机逐渐采用分布式机房或异地部署的方式。因此,当管理人员需要对这些服务器上的系统或应用进行测试时,往往会通过远程测试的方式进行。当测试的系统或应用是图形用户界面,或以图形化窗口作为主要交互手段时,管理人员一般会通过用于测试的计算机设备远程连接待测试服务器或主机,获取待测试的图形用户界面,从而通过输入设备直接操纵图形用户界面进行测试。例如测试windows系统,在用于测试的电脑上远程登录待测试服务器,并通过鼠标或键盘对windows系统桌面中的窗口和图标进行相应的测试操作。而当需要测试的服务器或主机数量较多时,则会在远程连接待测试服务器或主机后,通过录制鼠标键盘脚本并重放的方式进行图形用户界面的测试。

然而,现有技术的测试方法在需要对大规模的服务器或主机集群的图形用户界面系统进行测试时,待测试的每台服务器均需要管理人员通过某一计算机设备远程登录进行测试,并在测试过程中保持远程连接窗口处于可获取状态,会占用大量的人力和设备资源,且自动化程度低,测试的效率和稳定性低下。



技术实现要素:

本申请的一个目的是提供一种用于远程测试的方法与设备,用以解决远程测试图形用户界面系统时自动化程度低下的问题。

为实现上述目的,基于本申请的一个方面,本申请提供了一种用于远程测试的方法,该方法解决了远程测试图形用户界面系统时自动化程度低下的问题,该方法包括:

获取待测试图形用户界面系统的测试信息;

根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接;

通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面;

在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

为实现上述目的,基于本申请的另一个方面,本申请提供了一种用于远程测试的设备,该设备解决了远程测试图形用户界面系统时自动化程度低下的问题,该设备包括:

测试信息获取装置,用于获取待测试图形用户界面系统的测试信息;

远程桌面连接装置,用于根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接;

待测试界面获取装置,用于通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面;

测试装置,用于在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

与现有技术相比,本申请通过获取测试信息,根据测试信息在测试节点的桌面中远程连接待测试图形用户界面系统,并模拟图形用户界面上的用户操作进行相应测试,从而实现图形用户界面系统的远程测试自动化,提升测试效率和稳定性,降低人力和管理成本。进一步地,通过设置测试节点中测试设备对应的守护模块,使得测试节点的桌面在测试过程中一直处于常亮可用的状态,从而不需要采用人力资源对测试节点的桌面进行常亮可用状态的维护或监控。进一步地,通过测试管理平台管理测试节点,适应待测试的图形用户界面系统较多的情况,提升这一场景下的测试效率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个优选实施例的步骤s4的方法流程图;

图2示出根据本申请另一个方面的一种用于远程测试的设备示意图;

图3示出根据本申请另一个优选实施例的测试装置的设备示意图;

图4示出根据本申请另一个优选实施例的通过测试节点远程测试用户界面系统的示意图;

图5示出根据本申请另一个优选实施例的远程测试用户界面系统的示意图;

图6示出根据本申请另一个优选实施例的测试管理平台与测试节点关系示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

根据本申请一个方面的一种用于远程测试的方法。所述方法包括步骤s1、步骤s2、步骤s3、步骤s4。

其中,在步骤s1中设备1获取待测试图形用户界面系统的测试信息;在步骤s2中设备1根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接;在步骤s3中设备1通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面;在步骤s4中设备1在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

具体地,在步骤s1中设备1获取待测试图形用户界面系统的测试信息。

其中,所述待测试图形用户界面系统是指以图形化用户界面为基础进行操作和交互的系统。例如,macosx系统、windows系统等。以windows系统为例,windows系统以图形化窗口桌面为主要交互手段,其大部分管理工具如控制面板、注册表、设备管理器等均以图形化界面与用户交互。因此图形化用户界面系统在测试时,一般需要通过鼠标、键盘、触摸屏等输入设备进行操作,例如点击某个界面中窗口中的指定按钮。

所述测试信息是指对图形化用户界面系统进行测试的设备所需要的,与图形化用户界面系统相关的测试信息。测试信息所包含的内容包括但不限于:待测试图形化用户界面系统所在的服务器或主机地址信息,待测试图形化用户界面系统的登录信息,在待测试图形化用户界面系统中需要测试的内容或相关指令。

所述获取待测试图形用户界面系统的测试信息,是指由实际执行测试的测试设备,从测试人员或测试管理端获取测试信息。获取的方式可以通过网络或其他通信方式,例如当待测试图形化用户界面系统所在的服务器或主机在数据中心机房中,用于测试的相关设备则从相关测试管理平台获取测试信息。在此,实际执行测试的测试设备,或用于测试的相关设备,在下文中统称为测试节点。通过获取测试信息,使得用于测试的相关设备可以建立与待测试图形化用户界面建立远程桌面连接,从而进一步根据测试信息中的测试指令或测试内容进行测试。

本领域技术人员应能理解上述获取测试信息以的方式仅为举例,其他现有的或今后可能出现的获取测试信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,在步骤s1中设备1获取测试管理平台发送的关于待测试图形用户界面系统的测试信息。

所述测试管理平台是指用于管理测试节点的平台,用以与测试节点进行通信,作用包括但不限于:下发测试信息,获取测试状况或测试结果反馈,为待测试图形化用户界面系统选择测试节点等。如图5所示,当需要测试的图形化用户界面系统较多,系统所在的服务器或主机规模较大时,可适应性布置多个测试节点,测试管理平台则对这些测试节点进行管理。测试管理平台可通过web页面,或其它计算设备上的客户端登录或查看,继而进行对于测试节点的管理操作。

当某一测试节点被测试管理平台所选中,需要为待测试图形用户界面进行测试,则所述测试节点会从测试管理平台获取关于待测试图形用户界面的测试信息。通过设置测试管理平台,可以使得对图形用户界面系统的远程测试适用于更大规模的测试场景,以及通过测试管理平台可更合理地对较多的测试节点及进行管理。例如,待测试图形用户界面系统属于云集群,待测试的系统有很多个,通过测试管理平台可以对测试节点和待测试系统进行匹配,以及管理。

接着,在步骤s2中设备1根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接。所述远程桌面连接是指在测试节点所在的计算机设备的系统中,通过远程桌面连接程序所建立的与待测试图形用户界面系统的远程连接。通过所述远程桌面连接,测试节点可获得关于待测试图形用户界面系统的情况,以及对待测试图形用户界面系统进行测试操作。在此,当测试节点所在的计算机设备采用的是windows系统时,远程桌面连接可通过windows自带的桌面连接程序进行。或者采用第三方有远程连接桌面工程的软件或插件,例如vnc(virtualnetworkcomputer)软件。

基于上述举例的远程桌面连接程序,在测试节点所在计算机设备的系统中与待测试图形用户界面系统进行远程连接。例如图4所示,测试节点所在服务器中所安装的是windows系统,利用windows系统中所安装的远程桌面连接程序,连接所述待测试图形用户界面系统,获取待测试图形用户界面系统的桌面并显示在测试节点的桌面窗口,从而可以进一步通过窗口对图形用户界面系统进行测试操作。

本领域技术人员应能理解上述进行远程桌面连接的方式仅为举例,其他现有的或今后可能出现的进行远程桌面连接的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,在步骤s2中设备1根据所述测试信息通过测试节点中的远程桌面连接模块建立所述测试节点与所述待测试图形用户界面系统的远程桌面连接。所述远程桌面连接模块是指在测试节点中的某一计算机设备或硬件中安装的远程桌面连接模块,与测试节点系统所在的计算机设备可以是同一设备也可以是不同设备,双方之间可以进行通信。设置桌面连接模块有助于保持对待测试图形用户界面系统远程桌面连接的稳定性,以保证测试的顺利进行。桌面连接模块中包括但不限于:测试节点系统自带的远程桌面连接程序,测试节点系统所安装的第三方远程桌面连接软件,独立与测试节点系统所在服务器的硬件上所安装的远程桌面连接程序。

更优选地,在步骤s2中设备1根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接,其中,所述测试节点由所述测试管理平台确定。是指当有多个测试节点且均通过测试管理平台进行管理时,与待测试图形用户界面系统建立远程桌面连接的测试节点,是由测试管理平台选中的。

如图6所示,当测试人员通过测试管理平台输入测试信息,或测试管理平台生成测试信息后,所述测试管理平台根据所述测试信息确定测试节点下发所述测试信息。当测试节点为多个时,可随机挑选当前空闲的测试节点。或根据一定优选算法,选择距离待测试图形用户界面系统所在服务器或主机最近的测试节点,又或者优选通信速度最快的测试节点,但不限于此处所列举的情况。

测试节点获取测试信息后,根据测试信息中的待测试图形用户界面系统的地址信息,利用测试节点系统中远程桌面连接程序与待测试图形用户界面系统建立连接。在建立连接过程中,若测试节点的系统也属于图形用户界面系统,则在测试节点中采用鼠标和键盘模拟输入的方式建立远程桌面连接。从而使得当测试节点较多无法每个测试节点均部署人员进行操作时,可以自动进行建立远程桌面连接的操作。其中,鼠标和键盘模拟输入是通过向测试节点系统中的鼠标和键盘对应的api接口输入模拟操作指令进行的。

本领域技术人员应能理解上述通过测试管理平台确定测试节点的方式仅为举例,其他现有的或今后可能出现的通过测试管理平台确定测试节点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,在步骤s3中设备1通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面。是指当测试节点与所述待测试图形用户界面系统建立远程桌面连接后,测试节点所在系统即通过远程桌面连接获取被测试系统的图形用户界面。

在此被获取的图形用户界面可通过测试节点的系统输入测试指令进行测试操作。例如当测试节点与待测试图形用户界面系统均为windows系统,在测试节点桌面的远程连接窗口中对待测试的系统桌面进行操作,例如,远程安装第三方测试软件进行测试,或直接执行相关测试命令。

当测试节点较多无法每个测试节点均部署人员进行测试操作时,对于所获取的图形用户界面进行截屏操作,并通过图片识别技术分辨图形用户界面当前所表达的信息含义,从而确定下一步测试操作,例如是否需要通过模拟鼠标操作点击某一图标。通过对图形用户截屏,结合图片识别技术以及输入设备模拟操作,即可对待测试图形用户界面进行自动化测试,减少人力成本。

接着,在步骤s4中设备1在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。所述测试节点的桌面是指测试节点所在系统的操作界面,例如当测试节点采用的是windows系统时,测试节点的桌面即为测试节点所安装windows系统的桌面。所述用户操作是指在待测试的图形用户界面中所进行的,需要通过输入设备进行的操作,在此用户操作一般用于测试。例如,点击红色叉号关闭windows控制面板窗口。输入设备包括鼠标、键盘、触摸屏、触摸板等设备,但不限于此。

在测试所述待测试图形用户界面系统时,通过对用户操作进行模拟。所述模拟用户操作是指,在待测试图形用户界面系统与输入设备对应的程序接口中,输入相应的操作指令,从而使得待测试图形用户界面系统执行相应的用户操作。在此,模拟用户操作的相关指令是测试节点通过远程桌面连接所发出。所发出的模拟操作指令是根据所获取的图形用户界面所生成,而所述图形用户界面则是通过远程桌面连接获取后进一步进行截图,并结合图片识别技术获取相关界面信息。

通过上述屏幕截图识别、模拟输入设备操作,测试节点即可基于远程桌面连接对待测试图形用户界面系统进行测试。从而免去人力对待测试图形用户界面进行识别,并通过输入设备发出用于测试的用户操作,提升测试图形用户界面时的自动化程度。

优选地,所述用户操作包括以下至少一项:基于对应接口的鼠标模拟操作;基于对应接口的键盘模拟操作;基于对应接口的触屏模拟操作。即在测试节点对待测试图形用户界面系统进行模拟用户操作时,所模拟的操作的输入设备包括但不限于鼠标、键盘、触摸屏的。通过对待测试图形用户界面系统中与这些输入设备对应的程序接口发送相关信息和指令,即可进行相应的模拟操作,例如在鼠标对应的程序接口发送鼠标点击的相关信息,待测试图形用户界面系统即认为鼠标在进行点击操作,进而对点击操作作出相应反应,例如打开或关闭某一窗口。

优选地,在步骤s4中设备1在所述测试节点的桌面中根据所述测试信息模拟所述图形用户界面上的用户操作;通过所述远程桌面连接获取所述待测试图形用户界面系统在执行所述用户操作后所更新的所述图形用户界面,以作为所述用户操作对应的测试结果信息。即通过模拟鼠标等输入设备对待测试图形用户界面进行用户操作后,所述待测试图形用户界面即根据用户操作的不同作出不同的状态改变,例如模拟鼠标点击控制面板图标,则待测试的windows系统桌面中打开控制面板的窗口。测试节点通过远程桌面连接获取待测试图形用户界面的变化,即为之前用户操作中所执行后的测试结果。优选地,通过周期性对所述待测试图形用户界面进行截图,则可将对应用户操作的测试结果保存。进一步结合图片识别技术,即可分析下一步用户操作该如何进行。或将测试结果反馈给测试管理平台,以供测试管理人员进行分析或监控。

图1示出根据本申请一个优选实施例的步骤s4的方法流程图。所述步骤s4包括:步骤s41和步骤s42。

其中,在步骤s41中设备1在所述测试节点的桌面中模拟显示所述图形用户界面,并保持所述桌面常亮可用;在步骤s42中设备1通过在所述桌面中根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

具体地,在步骤s41中设备1在所述测试节点的桌面中模拟显示所述图形用户界面,并保持所述桌面常亮可用。所述常亮可用是指测试节点的操作系统获取并维护用以显示桌面的相关信息,即系统认为当前桌面是存在的,在常亮可用的桌面在连接显示器后即可显示。为了方便测试,在实际测试过程中不需要每一台测试节点均连接显示器,能够获取用以显示桌面的相关信息进行操作即可。所述模拟显示所述图形用户界面,是指通过远程桌面连接,在所述测试节点的桌面的远程连接窗口中获取待测试图形用户界面的相关显示信息。在测试节点对待测试图形用户界面进行测试的过程中,因为需要在测试节点桌面的远程连接窗口中,对待测试用户图形界面进行获取分析以及用户操作指令的下发,因此测试节点的桌面在测试中保持常亮可用。

接着,在步骤s42中设备1通过在所述桌面中根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。即在测试节点桌面的远程桌面连接窗口中,通过对待测试用户图形界面进行截图识别并模拟输入设备用户操作,测试节点即可基于远程桌面连接对待测试图形用户界面系统进行测试。模拟用户操作即通过测试节点桌面中的远程桌面连接窗口,对待测试图形用户界面系统发出输入设备的操作指令。例如,通过向测试节点系统中的鼠标和键盘对应的api接口输入模拟操作指令进行模拟用户操作。

优选地,所述测试节点包括测试设备,以及与所述测试设备对应的守护模块。所述测试设备是指安装测试节点操作系统测试系统的计算设备,例如安装了windows操作系统的服务器。如图5所示,在测试设备中安装测试操控软件,所述测试操控软件中集成自动化测试指令,包括获取测试信息,建立远程桌面连接,模拟用户操作,识别待测试图形用户界面,反馈测试结果等测试中所要用到的测试指令和功能,从而可以实现全自动化测试,降低人力成本。所述守护模块是指用于保持测试节点的桌面常亮可用的模块,这一模块可部署在任意可支持远程桌面连接功能的硬件设备上,通过远程桌面连接程序连接测试节点的桌面,获取测试节点桌面的相关信息。测试节点由一台测试设备与一个保持测试设备上所运行系统桌面常亮可用的守护模块组成。

在大规模测试的场景下,预先设置好测试设备与守护模块之间一一对应的关系,并在部署完一个测试节点后通过母本镜像批量创建,通过在计算设备中执行自动化脚本,基于输入设备的模拟用户操作,连接守护模块与测试设备即可快速扩大测试节点规模。即通过部署测试节点的数量适应待测试图形用户界面系统的数量规模,实现大批量的全自动测试。优选地,部署如图5中一个测试节点的方法包括:找一台windows服务器,作为单个测试节点的测试设备,将集成了测试功能和命令的操控软件上传到该机器;找一台windows服务器,作为单个测试节点的守护模块,部署人员登录这台服务器,启动远程桌面连接程序,连接到其对应的测试设备;在守护模块的远程桌面连接窗口中,操作测试节点总测试设备中系统的桌面,运行操控软件;部署人员退出守护模块。

优选地,所述守护模块部署于所述测试设备以外的其他计算设备。是指部署守护模块的硬件与对应的测试设备不属于同一个计算设备。因为守护模块是为了获取测试设备上测试节点系统的桌面,具体通过远程桌面连接程序获取,从而保障测试节点的桌面处于常亮可获取的状态。通过远程桌面连接的获取方以及被获取方,需要部署在不同的计算设备上才可以实现远程连接。因此,守护模块部署于所述测试设备以外的其他计算设备。

优选地,在步骤s42中设备1在所述测试设备的桌面中模拟显示所述图形用户界面,并利用所述守护模块保持所述桌面常亮可用。因为在测试节点通过远程桌面连接对待测试图形用户界面系统进行测试的过程中,需要在测试节点的桌面窗口对待测试图形用户界面进行截图,并在识别后进行模拟用户操作。因此,显示远程连接的待测试图形用户界面的测试节点的桌面即需要一直处于常亮可用的状态。守护模块通过远程桌面连程序或第三方远程桌面连接软件连接对应的测试设备,即可获取测试设备用以显示桌面信息的数据信息,从而在守护模块与测试设备的远程桌面连接期间保持测试设备的桌面处于常亮可用。

图2示出根据本申请另一个方面的一种用于远程测试的设备示意图。所述设备1包括测试信息获取装置11、远程桌面连接装置12、待测试界面获取装置13、测试装置14。

其中,测试信息获取装置11获取待测试图形用户界面系统的测试信息;远程桌面连接装置12根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接;待测试界面获取装置13通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面;测试装置14在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

具体地,测试信息获取装置11获取待测试图形用户界面系统的测试信息。

其中,所述待测试图形用户界面系统是指以图形化用户界面为基础进行操作和交互的系统。例如,macosx系统、windows系统等。以windows系统为例,windows系统以图形化窗口桌面为主要交互手段,其大部分管理工具如控制面板、注册表、设备管理器等均以图形化界面与用户交互。因此图形化用户界面系统在测试时,一般需要通过鼠标、键盘、触摸屏等输入设备进行操作,例如点击某个界面中窗口中的指定按钮。

所述测试信息是指对图形化用户界面系统进行测试的设备所需要的,与图形化用户界面系统相关的测试信息。测试信息所包含的内容包括但不限于:待测试图形化用户界面系统所在的服务器或主机地址信息,待测试图形化用户界面系统的登录信息,在待测试图形化用户界面系统中需要测试的内容或相关指令。

所述获取待测试图形用户界面系统的测试信息,是指由实际执行测试的测试设备,从测试人员或测试管理端获取测试信息。获取的方式可以通过网络或其他通信方式,例如当待测试图形化用户界面系统所在的服务器或主机在数据中心机房中,用于测试的相关设备则从相关测试管理平台获取测试信息。在此,实际执行测试的测试设备,或用于测试的相关设备,在下文中统称为测试节点。通过获取测试信息,使得用于测试的相关设备可以建立与待测试图形化用户界面建立远程桌面连接,从而进一步根据测试信息中的测试指令或测试内容进行测试。

本领域技术人员应能理解上述获取测试信息以的方式仅为举例,其他现有的或今后可能出现的获取测试信息的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述测试信息获取装置11获取测试管理平台发送的关于待测试图形用户界面系统的测试信息。

所述测试管理平台是指用于管理测试节点的平台,用以与测试节点进行通信,作用包括但不限于:下发测试信息,获取测试状况或测试结果反馈,为待测试图形化用户界面系统选择测试节点等。如图5所示,当需要测试的图形化用户界面系统较多,系统所在的服务器或主机规模较大时,可适应性布置多个测试节点,测试管理平台则对这些测试节点进行管理。测试管理平台可通过web页面,或其它计算设备上的客户端登录或查看,继而进行对于测试节点的管理操作。

当某一测试节点被测试管理平台所选中,需要为待测试图形用户界面进行测试,则所述测试节点会从测试管理平台获取关于待测试图形用户界面的测试信息。通过设置测试管理平台,可以使得对图形用户界面系统的远程测试适用于更大规模的测试场景,以及通过测试管理平台可更合理地对较多的测试节点及进行管理。例如,待测试图形用户界面系统属于云集群,待测试的系统有很多个,通过测试管理平台可以对测试节点和待测试系统进行匹配,以及管理。

接着,远程桌面连接装置12根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接。所述远程桌面连接是指在测试节点所在的计算机设备的系统中,通过远程桌面连接程序所建立的与待测试图形用户界面系统的远程连接。通过所述远程桌面连接,测试节点可获得关于待测试图形用户界面系统的情况,以及对待测试图形用户界面系统进行测试操作。在此,当测试节点所在的计算机设备采用的是windows系统时,远程桌面连接可通过windows自带的桌面连接程序进行。或者采用第三方有远程连接桌面工程的软件或插件,例如vnc(virtualnetworkcomputer)软件。

基于上述举例的远程桌面连接程序,在测试节点所在计算机设备的系统中与待测试图形用户界面系统进行远程连接。例如图4所示,测试节点所在服务器中所安装的是windows系统,利用windows系统中所安装的远程桌面连接程序,连接所述待测试图形用户界面系统,获取待测试图形用户界面系统的桌面并显示在测试节点的桌面窗口,从而可以进一步通过窗口对图形用户界面系统进行测试操作。

本领域技术人员应能理解上述进行远程桌面连接的方式仅为举例,其他现有的或今后可能出现的进行远程桌面连接的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

优选地,所述远程桌面连接装置12根据所述测试信息通过测试节点中的远程桌面连接模块建立所述测试节点与所述待测试图形用户界面系统的远程桌面连接。所述远程桌面连接模块是指在测试节点中的某一计算机设备或硬件中安装的远程桌面连接模块,与测试节点系统所在的计算机设备可以是同一设备也可以是不同设备,双方之间可以进行通信。设置桌面连接模块有助于保持对待测试图形用户界面系统远程桌面连接的稳定性,以保证测试的顺利进行。桌面连接模块中包括但不限于:测试节点系统自带的远程桌面连接程序,测试节点系统所安装的第三方远程桌面连接软件,独立与测试节点系统所在服务器的硬件上所安装的远程桌面连接程序。

更优选地,所述远程桌面连接装置12根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接,其中,所述测试节点由所述测试管理平台确定。是指当有多个测试节点且均通过测试管理平台进行管理时,与待测试图形用户界面系统建立远程桌面连接的测试节点,是由测试管理平台选中的。

如图6所示,当测试人员通过测试管理平台输入测试信息,或测试管理平台生成测试信息后,所述测试管理平台根据所述测试信息确定测试节点下发所述测试信息。当测试节点为多个时,可随机挑选当前空闲的测试节点。或根据一定优选算法,选择距离待测试图形用户界面系统所在服务器或主机最近的测试节点,又或者优选通信速度最快的测试节点,但不限于此处所列举的情况。

测试节点获取测试信息后,根据测试信息中的待测试图形用户界面系统的地址信息,利用测试节点系统中远程桌面连接程序与待测试图形用户界面系统建立连接。在建立连接过程中,若测试节点的系统也属于图形用户界面系统,则在测试节点中采用鼠标和键盘模拟输入的方式建立远程桌面连接。从而使得当测试节点较多无法每个测试节点均部署人员进行操作时,可以自动进行建立远程桌面连接的操作。其中,鼠标和键盘模拟输入是通过向测试节点系统中的鼠标和键盘对应的api接口输入模拟操作指令进行的。

本领域技术人员应能理解上述通过测试管理平台确定测试节点的方式仅为举例,其他现有的或今后可能出现的通过测试管理平台确定测试节点的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

接着,待测试界面获取装置13通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面。是指当测试节点与所述待测试图形用户界面系统建立远程桌面连接后,测试节点所在系统即通过远程桌面连接获取被测试系统的图形用户界面。

在此被获取的图形用户界面可通过测试节点的系统输入测试指令进行测试操作。例如当测试节点与待测试图形用户界面系统均为windows系统,在测试节点桌面的远程连接窗口中对待测试的系统桌面进行操作,例如,远程安装第三方测试软件进行测试,或直接执行相关测试命令。

当测试节点较多无法每个测试节点均部署人员进行测试操作时,对于所获取的图形用户界面进行截屏操作,并通过图片识别技术分辨图形用户界面当前所表达的信息含义,从而确定下一步测试操作,例如是否需要通过模拟鼠标操作点击某一图标。通过对图形用户截屏,结合图片识别技术以及输入设备模拟操作,即可对待测试图形用户界面进行自动化测试,减少人力成本。

接着,测试装置14在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。所述测试节点的桌面是指测试节点所在系统的操作界面,例如当测试节点采用的是windows系统时,测试节点的桌面即为测试节点所安装windows系统的桌面。所述用户操作是指在待测试的图形用户界面中所进行的,需要通过输入设备进行的操作,在此用户操作一般用于测试。例如,点击红色叉号关闭windows控制面板窗口。输入设备包括鼠标、键盘、触摸屏、触摸板等设备,但不限于此。

在测试所述待测试图形用户界面系统时,通过对用户操作进行模拟。所述模拟用户操作是指,在待测试图形用户界面系统与输入设备对应的程序接口中,输入相应的操作指令,从而使得待测试图形用户界面系统执行相应的用户操作。在此,模拟用户操作的相关指令是测试节点通过远程桌面连接所发出。所发出的模拟操作指令是根据所获取的图形用户界面所生成,而所述图形用户界面则是通过远程桌面连接获取后进一步进行截图,并结合图片识别技术获取相关界面信息。

通过上述屏幕截图识别、模拟输入设备操作,测试节点即可基于远程桌面连接对待测试图形用户界面系统进行测试。从而免去人力对待测试图形用户界面进行识别,并通过输入设备发出用于测试的用户操作,提升测试图形用户界面时的自动化程度。

优选地,所述用户操作包括以下至少一项:基于对应接口的鼠标模拟操作;基于对应接口的键盘模拟操作;基于对应接口的触屏模拟操作。即在测试节点对待测试图形用户界面系统进行模拟用户操作时,所模拟的操作的输入设备包括但不限于鼠标、键盘、触摸屏的。通过对待测试图形用户界面系统中与这些输入设备对应的程序接口发送相关信息和指令,即可进行相应的模拟操作,例如在鼠标对应的程序接口发送鼠标点击的相关信息,待测试图形用户界面系统即认为鼠标在进行点击操作,进而对点击操作作出相应反应,例如打开或关闭某一窗口。

优选地,所述测试装置14在所述测试节点的桌面中根据所述测试信息模拟所述图形用户界面上的用户操作;通过所述远程桌面连接获取所述待测试图形用户界面系统在执行所述用户操作后所更新的所述图形用户界面,以作为所述用户操作对应的测试结果信息。即通过模拟鼠标等输入设备对待测试图形用户界面进行用户操作后,所述待测试图形用户界面即根据用户操作的不同作出不同的状态改变,例如模拟鼠标点击控制面板图标,则待测试的windows系统桌面中打开控制面板的窗口。测试节点通过远程桌面连接获取待测试图形用户界面的变化,即为之前用户操作中所执行后的测试结果。优选地,通过周期性对所述待测试图形用户界面进行截图,则可将对应用户操作的测试结果保存。进一步结合图片识别技术,即可分析下一步用户操作该如何进行。或将测试结果反馈给测试管理平台,以供测试管理人员进行分析或监控。

图3示出根据本申请另一个优选实施例的测试装置的设备示意图。所述测试装置14包括:待测试界面显示单元141和测试单元142。

其中,待测试界面显示单元141在所述测试节点的桌面中模拟显示所述图形用户界面,并保持所述桌面常亮可用;测试单元142通过在所述桌面中根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

具体地,待测试界面显示单元141在所述测试节点的桌面中模拟显示所述图形用户界面,并保持所述桌面常亮可用。所述常亮可用是指测试节点的操作系统获取并维护用以显示桌面的相关信息,即系统认为当前桌面是存在的,在常亮可用的桌面在连接显示器后即可显示。为了方便测试,在实际测试过程中不需要每一台测试节点均连接显示器,能够获取用以显示桌面的相关信息进行操作即可。所述模拟显示所述图形用户界面,是指通过远程桌面连接,在所述测试节点的桌面的远程连接窗口中获取待测试图形用户界面的相关显示信息。在测试节点对待测试图形用户界面进行测试的过程中,因为需要在测试节点桌面的远程连接窗口中,对待测试用户图形界面进行获取分析以及用户操作指令的下发,因此测试节点的桌面在测试中保持常亮可用。

接着,测试单元142通过在所述桌面中根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。即在测试节点桌面的远程桌面连接窗口中,通过对待测试用户图形界面进行截图识别并模拟输入设备用户操作,测试节点即可基于远程桌面连接对待测试图形用户界面系统进行测试。模拟用户操作即通过测试节点桌面中的远程桌面连接窗口,对待测试图形用户界面系统发出输入设备的操作指令。例如,通过向测试节点系统中的鼠标和键盘对应的api接口输入模拟操作指令进行模拟用户操作。

优选地,所述测试节点包括测试设备,以及与所述测试设备对应的守护模块。所述测试设备是指安装测试节点操作系统测试系统的计算设备,例如安装了windows操作系统的服务器。如图5所示,在测试设备中安装测试操控软件,所述测试操控软件中集成自动化测试指令,包括获取测试信息,建立远程桌面连接,模拟用户操作,识别待测试图形用户界面,反馈测试结果等测试中所要用到的测试指令和功能,从而可以实现全自动化测试,降低人力成本。所述守护模块是指用于保持测试节点的桌面常亮可用的模块,这一模块可部署在任意可支持远程桌面连接功能的硬件设备上,通过远程桌面连接程序连接测试节点的桌面,获取测试节点桌面的相关信息。测试节点由一台测试设备与一个保持测试设备上所运行系统桌面常亮可用的守护模块组成。

在大规模测试的场景下,预先设置好测试设备与守护模块之间一一对应的关系,并在部署完一个测试节点后通过母本镜像批量创建,通过在计算设备中执行自动化脚本,基于输入设备的模拟用户操作,连接守护模块与测试设备即可快速扩大测试节点规模。即通过部署测试节点的数量适应待测试图形用户界面系统的数量规模,实现大批量的全自动测试。优选地,部署如图5中一个测试节点的方法包括:找一台windows服务器,作为单个测试节点的测试设备,将集成了测试功能和命令的操控软件上传到该机器;找一台windows服务器,作为单个测试节点的守护模块,部署人员登录这台服务器,启动远程桌面连接程序,连接到其对应的测试设备;在守护模块的远程桌面连接窗口中,操作测试节点总测试设备中系统的桌面,运行操控软件;部署人员退出守护模块。

优选地,所述守护模块部署于所述测试设备以外的其他计算设备。是指部署守护模块的硬件与对应的测试设备不属于同一个计算设备。因为守护模块是为了获取测试设备上测试节点系统的桌面,具体通过远程桌面连接程序获取,从而保障测试节点的桌面处于常亮可获取的状态。通过远程桌面连接的获取方以及被获取方,需要部署在不同的计算设备上才可以实现远程连接。因此,守护模块部署于所述测试设备以外的其他计算设备。

优选地,所述待测试界面显示单元142在所述测试设备的桌面中模拟显示所述图形用户界面,并利用所述守护模块保持所述桌面常亮可用。因为在测试节点通过远程桌面连接对待测试图形用户界面系统进行测试的过程中,需要在测试节点的桌面窗口对待测试图形用户界面进行截图,并在识别后进行模拟用户操作。因此,显示远程连接的待测试图形用户界面的测试节点的桌面即需要一直处于常亮可用的状态。守护模块通过远程桌面连程序或第三方远程桌面连接软件连接对应的测试设备,即可获取测试设备用以显示桌面信息的数据信息,从而在守护模块与测试设备的远程桌面连接期间保持测试设备的桌面处于常亮可用。

根据本申请的另一个方面,还提供一种用于远程测试的设备,所述设备包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取待测试图形用户界面系统的测试信息;

根据所述测试信息建立测试节点与所述待测试图形用户界面系统的远程桌面连接;

通过所述远程桌面连接获取所述待测试图形用户界面系统的图形用户界面;

在所述测试节点根据所述测试信息模拟所述图形用户界面上的用户操作,测试所述待测试图形用户界面系统。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1