
[0001]
本申请涉及云桌面技术领域,特别是涉及一种虚拟桌面的测试方法及装置。
背景技术:[0002]
在云计算技术日异月新的大背景下,基于云计算技术的虚拟桌面的应用场景越来越广泛。比如日常办公、学校教学等应用场景。虚拟桌面利用vdi(virtual desktop infrastructure,虚拟桌面基础架构)实现。用户通过客户端所访问的虚拟桌面不是实际意义的pc(personal computer,个人计算机)端桌面,而是一个位于高性能的服务器上的桌面。
[0003]
在vdi中,服务器上部署了为用户授权的虚拟机,用户通过客户端使用虚拟化传输协议与服务器上的虚拟机进行连接,该虚拟机为用户提供位于服务器上的桌面,即虚拟桌面。此时,用户通过虚拟桌面,直接使用虚拟机中安装的软件。
[0004]
然而,若用户使用的软件对cpu(central processing unit,中央处理器)、内存、显卡等硬件的要求比较高,且服务器上的多个虚拟机同时运行该软件,则会对服务器带来一定的负担,造成虚拟机运行卡顿等问题。
[0005]
为解决上述问题,需要对虚拟桌面进行测试。目前,虚拟桌面的测试方法主要为:测试人员登录各个客户端,手动模拟用户使用虚拟机中的软件;测试人员根据直观感受,来确定虚拟机的运行状态。
[0006]
这种虚拟桌面的测试方法中,为了测试真实应用场景中虚拟机的运行状态,需要耗费大量的人力模拟用户使用虚拟机中的软件,且需要部署大量的客户端,来模拟真实应用场景,这大大的增加物力和人力的消耗。
技术实现要素:[0007]
本申请实施例的目的在于提供一种虚拟桌面的测试方法及装置,以在模拟真实应用场景,来测试虚拟机的运行状态时,降低物力成本和人力成本。具体技术方案如下:
[0008]
第一方面,本申请实施例提供了一种虚拟桌面的测试方法,应用于服务器的测试虚拟机,所述方法包括:
[0009]
确定每个用户对应的虚拟机中的待运行软件;
[0010]
针对每个用户对应的虚拟机,从共享设备中获取该用户对应的虚拟机中待运行软件的自动化脚本,并将所获取的自动化脚本添加至该用户对应的虚拟机,以使该用户对应的虚拟机接收到客户端通过该用户对应的客户端进程发送的自动化脚本运行指令后,运行该用户对应的虚拟机存储的软件的自动化脚本,所述软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上所述软件的模拟操作流程;每个用户对应的客户端进程是由客户端从共享设备中获取该用户对应的对象文件,并根据该用户对应的对象文件包括的虚拟机的信息所启动的;该用户对应的客户端进程与所述服务器中该用户对应的虚拟机连接;
[0011]
在每个用户对应的虚拟机运行自动化脚本的过程中,收集所述服务器的性能参
数。
[0012]
第二方面,本申请实施例提供了一种虚拟桌面的测试方法,应用于客户端,所述方法包括:
[0013]
获取共享设备中存储的预设数量个用户对应的对象文件,每个用户对应的对象文件包括服务器为该用户授权的虚拟机的信息;
[0014]
根据每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与所述服务器中该用户对应的虚拟机连接;
[0015]
通过每个用户对应的客户端进程,向所述服务器中该用户对应的虚拟机发送自动化脚本运行指令,以使所述服务器中该用户对应的虚拟机根据所述自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本,所述软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上所述软件的模拟操作流程,所述软件的自动化脚本为所述服务器中的测试虚拟机从所述共享设备中获取的,所述服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集所述服务器的性能参数。
[0016]
第三方面,本申请实施例提供了一种虚拟桌面的测试装置,应用于服务器的测试虚拟机,所述装置包括:
[0017]
确定单元,用于确定每个用户对应的虚拟机中的待运行软件;
[0018]
获取单元,用于针对每个用户对应的虚拟机,从共享设备中获取该用户对应的虚拟机中待运行软件的自动化脚本,并将所获取的自动化脚本添加至该用户对应的虚拟机,以使该用户对应的虚拟机接收到客户端通过该用户对应的客户端进程发送的自动化脚本运行指令后,运行该用户对应的虚拟机存储的软件的自动化脚本,所述软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上所述软件的模拟操作流程;每个用户对应的客户端进程是由客户端从共享设备中获取该用户对应的对象文件,并根据该用户对应的对象文件包括的虚拟机的信息所启动的;该用户对应的客户端进程与所述服务器中该用户对应的虚拟机连接;
[0019]
收集单元,用于在每个用户对应的虚拟机运行自动化脚本的过程中,收集所述服务器的性能参数。
[0020]
第四方面,本申请实施例提供了一种虚拟桌面的测试装置,应用于客户端,所述装置包括:
[0021]
获取单元,用于获取共享设备中存储的预设数量个用户对应的对象文件,每个用户对应的对象文件包括服务器为该用户授权的虚拟机的信息;
[0022]
启动单元,用于根据每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与所述服务器中该用户对应的虚拟机连接;
[0023]
发送单元,用于通过每个用户对应的客户端进程,向所述服务器中该用户对应的虚拟机发送自动化脚本运行指令,以使所述服务器中该用户对应的虚拟机根据所述自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本,所述软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上所述软件的模拟操作流程,所述软件的自动化脚本为所述服务器中的测试虚拟机从所述共享设备中获取的,所述服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集所述服务器的性能参数。
[0024]
第五方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,
所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的方法步骤。
[0025]
第六方面,本申请实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的方法步骤。
[0026]
本申请实施例提供的技术方案中,通过共享设备存储预设数量个用户对应的对象文件。客户端中每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。因此,客户端中一个客户端进程相当于一个vdi客户端。
[0027]
此外,服务器中每个用户对应的虚拟机中存储了软件的自动化脚本。当用户对应的虚拟机接收到通过该用户对应的客户端进程发送的自动化脚本运行指令,即可运行自动化脚本,模拟出用户对虚拟机提供的虚拟桌面上软件的操作。这种情况下,服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0028]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0029]
当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
[0030]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]
图1为vdi架构的一种示意图;
[0032]
图2为本申请实施例提供的虚拟桌面的测试系统
[0033]
图3为本申请实施例提供的虚拟桌面的测试方法的一种流程示意图;
[0034]
图4为本申请实施例提供的虚拟桌面的测试方法的另一种流程示意图;
[0035]
图5为本申请实施例提供的虚拟桌面的测试方法的再一种流程示意图;
[0036]
图6为本申请实施例提供的虚拟桌面的测试装置的一种结构示意图;
[0037]
图7为本申请实施例提供的虚拟桌面的测试装置的另一种结构示意图;
[0038]
图8为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
[0039]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0040]
如图1所示的vdi架构,包括客户端11和服务器12。服务器12上部署了为用户授权的虚拟机,虚拟机与客户端11一一对应。图1中仅以2个客户端为例进行说明,并不起限定作用。
[0041]
客户端11与服务器12上的虚拟机间建立连接所采用的虚拟化传输协议包括但不限于:spice(simple protocol for independent computing environment,独立计算环境简单协议)、rdp(remote desktop protocol,远程桌面协议)、vnc(vitual network computing,虚拟网络控制台)协议以及ica(independent computing architecture,独立计算体系结构)协议等。
[0042]
服务器12虚拟机系统支持windows系统、ubuntu系统、redhat系统、centos(community enterprise operating system,社区企业操作系统)、银河麒麟系统等。
[0043]
图1中,客户端11通过spice与服务器12上的虚拟机进行连接,即客户端11通过spice与虚拟桌面进行连接。连接成功后,用户通过客户端11可以直接使用服务器12上的虚拟机中安装的软件。
[0044]
这种情况下,若用户使用的软件对cpu、内存和显卡等硬件的要求比较高,且服务器上的多个虚拟机同时运行该软件,则会对服务器带来一定的负担,造成虚拟机运行卡顿等问题。
[0045]
为解决上述问题,需要对虚拟桌面进行测试。目前,虚拟桌面的测试方法主要为:测试人员登录各个客户端,手动模拟用户使用虚拟机中的软件;测试人员根据直观感受,来确定虚拟机的运行状态。
[0046]
这种虚拟桌面的测试方法中,为了测试真实应用场景中虚拟机的运行状态,需要耗费大量的人力模拟用户使用虚拟机中的软件,且需要部署大量的客户端,来模拟真实应用场景,这大大的增加物力和人力的消耗。
[0047]
为解决上述问题,本申请实施例提供了一种虚拟桌面的测试系统,如图2所示,该系统包括客户端21、共享设备22和服务器23。客户端21为运行虚拟桌面客户端的机器,该客户端21中可以运行多个客户端进程(例如vdsession进程),服务器23中可以建立多个vm(virtual machine,虚拟机)。共享设备22中存储共享目录和各种服务组件。其中,服务组件可以包括批量创建用户以及生成用户json(javascript object notation,js对象简谱)文件、往虚拟机传输的自动化脚本、监控脚本运行状态的组件和服务器性能数据收集的组件等;共享目录中存放虚拟机系统(如银河麒麟系统)中软件的自动化脚本,以及服务器性能参数等。上述json文件,又可以称为对象文件,对象文件与用户对应,用户对应的对象文件包括服务器23为该用户授权的vm信息。
[0048]
其中,服务器的虚拟机系统即为服务器的操作系统,自动化脚本的类型可以依据服务器的虚拟机系统。例如服务器的虚拟机系统为银河麒麟系统,则自动化脚本可以为shell脚本。
[0049]
该测试系统中,客户端21获取共享设备22中存储的预设数量个用户对应的对象文件;根据每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器23中该用户对应的虚拟机连接;通过每个用户对应的客户端进程,向服务器23中该用户对应的虚拟机发送自动化脚本运行指令;
[0050]
服务器23中该用户对应的虚拟机根据自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本,软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程,软件的自动化脚本为服务器23中的测试虚拟机从共享设备22中获取的;服务器23中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0051]
本申请实施例提供的技术方案中,通过共享设备存储预设数量个用户对应的对象文件。客户端中每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。因此,客户端中一个客户端进程相当于一个vdi客户端。
[0052]
此外,服务器中每个用户对应的虚拟机中存储了软件的自动化脚本。当用户对应的虚拟机接收到通过该用户对应的客户端进程发送的自动化脚本运行指令,即可运行自动化脚本,模拟出用户对虚拟机提供的虚拟桌面上软件的操作。这种情况下,服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0053]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0054]
下面通过具体实施例,对本申请实施例提供的虚拟桌面的测试方法进行详细说明。
[0055]
参见图3,图3为本申请实施例提供的虚拟桌面的测试方法的一种流程示意图。该方法应用于客户端,包括如下步骤。
[0056]
步骤s31,获取共享设备中存储的预设数量个用户对应的对象文件,每个用户对应的对象文件包括服务器为该用户授权的虚拟机的信息。
[0057]
其中,预设数量可以根据实际需求进行设定。例如预设数量可以为50、100或1000等。
[0058]
用户对应的对象文件可以为管理人员预先存储至公共享设备中的,也可以为服务器在部署虚拟机时生成并存储至公共享设备中的。对此,不做具体限定。
[0059]
在对虚拟桌面进行测试时,客户端从共享设备中获取预设数量个用户对应的对象文件。
[0060]
步骤s32,根据每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。
[0061]
本申请实施例中,服务器的操作系统可以为银河麒麟系统,也可以为windows系统、ubuntu系统、redhat系统或centos等。服务器中还安装有与银河麒麟系统配合的桌面模板,例如,与银河麒麟系统配合的xdotool桌面模板。
[0062]
在获取到预设数量个用户对应的对象文件,针对每一预设数量个用户对应的对象文件,客户端根据该用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。其中,该用户对应的虚拟机为该用户对应的对象文件中的信息所指示的虚拟机。客户端中启动的每个客户端进
程均可以表示一个vdi客户端。
[0063]
步骤s33,通过每个用户对应的客户端进程,向服务器中该用户对应的虚拟机发送自动化脚本运行指令,以使服务器中该用户对应的虚拟机根据自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本,软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程,软件的自动化脚本为服务器中的测试虚拟机从共享设备中获取的,服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0064]
本申请实施例中,客户端根据对象文件启动客户端进程后,针对每个用户对应的客户端进程,向服务器中该用户对应的虚拟机发送自动化脚本运行指令。该用户对应的虚拟机接收到自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本。
[0065]
服务器中还安装有测试虚拟机,该测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。测试虚拟机可以将收集的服务器的性能参数存储至共享设备中,供管理人员确定服务器的运行状态。
[0066]
本申请的一个实施例中,测试虚拟机可以由共享设备中的服务器性能数据收集的组件实现。测试虚拟机也可以为管理人员预先在服务器中配置的具有收集性能参数性能的虚拟机。
[0067]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0068]
与图3所示虚拟桌面的测试方法对应,本申请实施例还提供了一种虚拟桌面的测试方法。参见图4,图4为本申请实施例提供的虚拟桌面的测试方法的另一种流程示意图。该方法应用于服务器的测试虚拟机;本申请实施例中,服务器的操作系统可以为银河麒麟系统,也可以为windows系统、ubuntu系统、redhat系统或centos等。服务器中还安装有与银河麒麟系统配合的桌面模板,例如,与银河麒麟系统配合的xdotool桌面模板。上述虚拟桌面的测试方法包括如下步骤。其中,桌面模板又可以称为虚拟机模板。
[0069]
步骤s41,确定每个用户对应的虚拟机中的待运行软件。
[0070]
在对虚拟桌面进行测试时,针对每个用户对应的虚拟机,测试虚拟机确定该用户对应的虚拟机中的待运行软件。
[0071]
在本申请的一个实施例中,测试虚拟机可以输出配置界面。管理人员基于配置界面,制定每个虚拟机的应用场景,选择在每个虚拟机上需要运行的软件。针对管理人员为每个虚拟机选择的软件,测试虚拟机将为该虚拟机选择的软件确定为该虚拟机中的待运行软件。
[0072]
步骤s42,针对每个用户对应的虚拟机,从共享设备中获取该用户对应的虚拟机中待运行软件的自动化脚本,并将所获取的自动化脚本添加至该用户对应的虚拟机,以使该用户对应的虚拟机接收到客户端通过该用户对应的客户端进程发送的自动化脚本运行指令后,运行该用户对应的虚拟机存储的软件的自动化脚本,软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程;每个用户对应的客户端进程是由客户端从
共享设备中获取该用户对应的对象文件,并根据该用户对应的对象文件包括的虚拟机的信息所启动的;该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。
[0073]
测试虚拟机在确定每个虚拟机中的待运行软件后,针对每个用户对应的虚拟机,从共享设备中获取该用户对应的虚拟机中待运行软件的自动化脚本,并将所获取的自动化脚本添加至该用户对应的虚拟机。
[0074]
针对每个用户对应的虚拟机,当该用户对应的虚拟机接收到该用户对应的客户端进程发送的自动化脚本运行指令后,该用户对应的虚拟机运行该用户对应的虚拟机存储的软件的自动化脚本。软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程。因此,该用户对应的虚拟机运行自动化脚本可以是用户对虚拟桌面上软件的模拟操作。
[0075]
用户对应的客户端进程为:客户端从共享设备中获取该用户对应的对象文件,并根据该用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接。具体可参见上图3部分的描述。
[0076]
步骤s43,在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0077]
测试虚拟机可以将收集的服务器的性能参数存储至共享设备中,供管理人员确定服务器的运行状态。
[0078]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0079]
本申请的一个实施例中,测试虚拟机通过虚拟机模板,部署预设数量个虚拟机,调用vdi接口,创建预设数量个用户,并生成这预设数量个用户对应的对象文件,每一用户对应的对象文件包括为该用户授权的虚拟机的信息。测试虚拟机将预设数量个用户对应的对象文件添加至共享设备。以后后续客户端从共享设备中获取到对象文件,并启动相应的客户端进程,以实现对虚拟桌面的自动测试。
[0080]
本申请的一个实施例中,测试虚拟机检测每个用户对应的虚拟机运行自动化脚本是否均正常启动。若均正常启动,则在每个用户对应的虚拟机运行自动化脚本的过程中,测试虚拟机收集服务器的性能参数。若每个用户对应的虚拟机中第一用户对应的虚拟机运行自动化脚本异常启动,则测试虚拟机指示第一用户对应的虚拟机重新运行第一用户对应的虚拟机存储的软件的自动化脚本。以提高虚拟桌面的测试准确性。
[0081]
本申请的一个实施例中,针对每个虚拟机,测试虚拟机检测该虚拟机中自动化脚本的运行是否完成。若运行未完成,则测试虚拟机继续检测该虚拟机中自动化脚本的运行是否完成。若运行完成,则测试虚拟机删除该虚拟机中的自动化脚本,以节约服务器的存储空间。
[0082]
下面通过图5所示的虚拟桌面的测试方法的流程图,对本申请实施例提供的虚拟桌面的测试方法进行详细说明。其中预设数量为m。
[0083]
步骤s51,测试虚拟机通过虚拟机模板,部署m个被测虚拟机;
[0084]
本申请实施例中,m可以为管理人员依据服务器的硬件配置,预估服务器能承载的虚拟机数量为m。
[0085]
步骤s52,测试虚拟机调用vdi接口,创建m个用户,并给用户授权被测虚拟机,授权成功后,生成m个用户对应的json文件,将json文件存储至共享设备中。
[0086]
步骤s53,管理人员在服务器上制定每个被测虚拟机的应用场景,选择在每个被测虚拟机上需要运行的软件。
[0087]
步骤s54,测试虚拟机从共享设备中,将步骤s53中选择的软件的自动化脚本添加至对应的被测虚拟机。
[0088]
步骤s55,测试虚拟机检测被测虚拟机中是否有步骤s53中选择的软件的自动化脚本。若有,则执行步骤s56;若否,则重新执行步骤s53。
[0089]
步骤s56,客户端从共享设备中,获取步骤s52中生成的json文件,使用json文件启动客户端进程,每个客户端进程相当于一个vdi客户端。
[0090]
步骤s57,客户端进程向被测虚拟机发送自动化脚本运行指令。
[0091]
步骤s57可以理解为,客户端通过客户端进程向被测虚拟机发送自动化脚本运行指令。
[0092]
步骤s58,被测虚拟机基于自动化脚本运行指令,运行自动化脚本。
[0093]
步骤s59,测试虚拟机检测被测虚拟机中自动化脚本是否正常启动。若否,则返回执行步骤s58。若是,则执行步骤s510。
[0094]
步骤s510,测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数,并将收集的性能参数存储在共享设备中。
[0095]
步骤s511,测试虚拟机检测被测虚拟机中自动化脚本运行是否完成。若是,则执行步骤s512;若否,则返回执行步骤s510。
[0096]
步骤s512,测试虚拟机删除被测虚拟机中的自动化脚本。
[0097]
上述步骤s51-s512部分描述相对简单,具体可参考上述图3-4部分的描述。
[0098]
与上述虚拟桌面的测试方法实施例对应,本申请实施例还提供了一种虚拟桌面的测试装置,参考图6,该装置应用于客户端,包括:
[0099]
获取单元61,用于获取共享设备中存储的预设数量个用户对应的对象文件,每个用户对应的对象文件包括服务器为该用户授权的虚拟机的信息;
[0100]
启动单元62,用于根据每个用户对应的对象文件包括的虚拟机的信息,启动该用户对应的客户端进程,该用户对应的客户端进程与服务器中该用户对应的虚拟机连接;
[0101]
发送单元63,用于通过每个用户对应的客户端进程,向服务器中该用户对应的虚拟机发送自动化脚本运行指令,以使服务器中该用户对应的虚拟机根据自动化脚本运行指令,运行该用户对应的虚拟机存储的软件的自动化脚本,软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程,软件的自动化脚本为服务器中的测试虚拟机从共享设备中获取的,服务器中测试虚拟机在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0102]
一个可选的实施例中,服务器的操作系统可以为银河麒麟系统;共享设备中还可以存储有软件的自动化脚本和服务器收集的服务器的性能参数。
[0103]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场
景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0104]
与上述虚拟桌面的测试方法实施例对应,本申请实施例还提供了一种虚拟桌面的测试装置,参考图7,该装置应用于服务器的测试虚拟机,包括:
[0105]
确定单元71,用于确定每个用户对应的虚拟机中的待运行软件;
[0106]
获取单元72,用于针对每个用户对应的虚拟机,从共享设备中获取该用户对应的虚拟机中待运行软件的自动化脚本,并将所获取的自动化脚本添加至该用户对应的虚拟机,以使该用户对应的虚拟机接收到客户端通过该用户对应的客户端进程发送的自动化脚本运行指令后,运行该用户对应的虚拟机存储的软件的自动化脚本,软件的自动化脚本包括用户对虚拟机提供的虚拟桌面上软件的模拟操作流程。每个用户对应的客户端进程是由客户端从共享设备中获取该用户对应的对象文件,并根据该用户对应的对象文件包括的虚拟机的信息所启动的;该用户对应的客户端进程与服务器中该用户对应的虚拟机连接;
[0107]
收集单元73,用于在每个用户对应的虚拟机运行自动化脚本的过程中,收集服务器的性能参数。
[0108]
一个可选的实施例中,上述装置还可以包括:
[0109]
部署单元,用于通过虚拟机模板,部署预设数量个虚拟机;
[0110]
创建单元,用于调用虚拟桌面基础架构vdi接口,创建预设数量个用户,并生成预设数量个用户对应的对象文件,每一用户对应的对象文件包括为该用户授权的虚拟机的信息;
[0111]
添加单元,用于将预设数量个用户对应的对象文件添加至共享设备。
[0112]
一个可选的实施例中,上述装置还可以包括:
[0113]
检测单元,用于检测每个用户对应的虚拟机运行自动化脚本是否均正常启动;
[0114]
处理单元,用于检测每个用户对应的虚拟机运行自动化脚本均正常启动,触发收集单元;若第一用户对应的虚拟机运行自动化脚本异常启动,则指示第一用户对应的虚拟机重新运行第一用户对应的虚拟机存储的软件的自动化脚本。
[0115]
一个可选的实施例中,服务器的操作系统可以为银河麒麟系统;共享设备中还可以存储有服务器收集的服务器的性能参数。
[0116]
本申请实施例中,一个客户端进程相当于一个vdi客户端。当需要模拟真实应用场景时,只需要在客户端中多启动一些客户端进程,并在相应的虚拟机中存储对应的自动化脚本即可。这种情况下,不需要耗费大量的人力模拟客户端使用虚拟机中的软件,也不需要部署大量的客户端,因此,在模拟真实应用场景,来测试虚拟机的运行状态时,降低了物力成本和人力成本。
[0117]
与上述虚拟桌面的测试方法实施例对应,本申请实施例还提供了一种电子设备,如图8所示,包括处理器81和机器可读存储介质82,机器可读存储介质82存储有能够被处理器81执行的机器可执行指令。处理器81被机器可执行指令促使实现上述图2-图5所示的任一步骤。
[0118]
与上述虚拟桌面的测试方法实施例对应,本申请实施例还提供了一种机器可读存
储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令。处理器被机器可执行指令促使实现上述图2-图5所示的任一步骤。
[0119]
上述机器可读存储介质可以包括ram(random access memory,随机存取存储器),也可以包括nvm(non-volatile memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
[0120]
上述处理器可以是通用处理器,包括cpu(central processing unit,中央处理器)等;还可以专用处理器,包括dsp(digital signal processing,数字信号处理器)和np(network processor,网络处理器)。
[0121]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0122]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于虚拟桌面的测试装置、电子设备、机器可读存储介质实施例而言,由于其基本相似于虚拟桌面的测试方法实施例,所以描述的比较简单,相关之处参见虚拟桌面的测试方法实施例的部分说明即可。
[0123]
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。