CN112416769A - 云桌面场景下批量模拟用户操作的自动化测试方法及系统 - Google Patents

云桌面场景下批量模拟用户操作的自动化测试方法及系统 Download PDF

Info

Publication number
CN112416769A
CN112416769A CN202011320210.0A CN202011320210A CN112416769A CN 112416769 A CN112416769 A CN 112416769A CN 202011320210 A CN202011320210 A CN 202011320210A CN 112416769 A CN112416769 A CN 112416769A
Authority
CN
China
Prior art keywords
socket
user operation
script
report
simulation
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
Application number
CN202011320210.0A
Other languages
English (en)
Inventor
宋超
张辉
林旖择
吴瑞
贾立平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Trusted Cloud Information Technology Research Institute
Zhongan Trustworthy Qingdao Network Technology Co ltd
Shandong Qianyun Qichuang Information Technology Co ltd
Original Assignee
Shandong Trusted Cloud Information Technology Research Institute
Zhongan Trustworthy Qingdao Network Technology Co ltd
Shandong Qianyun Qichuang Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Trusted Cloud Information Technology Research Institute, Zhongan Trustworthy Qingdao Network Technology Co ltd, Shandong Qianyun Qichuang Information Technology Co ltd filed Critical Shandong Trusted Cloud Information Technology Research Institute
Priority to CN202011320210.0A priority Critical patent/CN112416769A/zh
Publication of CN112416769A publication Critical patent/CN112416769A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了云桌面场景下批量模拟用户操作的自动化测试方法及系统,主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;所有自动化模拟用户操作控制指令脚本均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;报告生成脚本均采集对应待测试主机的性能,报告生成脚本均将采集的待测试主机性能生成测试报告。

Description

云桌面场景下批量模拟用户操作的自动化测试方法及系统
技术领域
本申请涉及自动化测试技术领域,特别是涉及云桌面场景下批量模拟用户操作的自动化测试方法及系统。
背景技术
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
随着计算机时代发展,云桌面产品也在各个领域得到应用。云桌面,可理解为通过云终端连接服务器端的虚拟机来给用户使用,虚拟机系统一般为Windows和Linux。其中用户使用的虚拟机存储、处理器、内存、网络等资源都使用服务器端,云终端只是起到连接显示的作用,用户直接面对使用的则是云终端。
随着云桌面的普及,业界云桌面的多样化,对于云桌面的测试工作的复杂性不言而喻。其中最主要的就是在用户使用云桌面批量测试场景上,人工测试并不现实,因为人力成本有限,人工测试效率低、准确性差。
现阶段针对云桌面场景下批量模拟用户操作的测试缺乏一套完整的自动化测试系统,并可应用于业界云桌面的通用解决方案。
发明内容
为了解决现有技术的不足,本申请提供了云桌面场景下批量模拟用户操作的自动化测试方法及系统;
第一方面,本申请提供了云桌面场景下批量模拟用户操作的自动化测试方法;
云桌面场景下批量模拟用户操作的自动化测试方法,包括:
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
第二方面,本申请提供了云桌面场景下批量模拟用户操作的自动化测试系统;
云桌面场景下批量模拟用户操作的自动化测试系统,包括:
若干台主机,在每一台主机上均部署多个虚拟机,建立云终端与虚拟机之间的通信连接,在每个云终端上部署云桌面客户端并连接虚拟机;
在每一台主机上部署报告生成脚本Socket_report,在每一台虚拟机上部署自动化模拟用户操作指令控制脚本Socket_receiver,在随机选择的一台虚拟机上部署主控制脚本Socket_console;
主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机;主控制脚本Socket_console根据局域网内广播地址和定义端口,与自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report建立UDP协议通信连接;
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
与现有技术相比,本申请的有益效果是:
本申请解决云桌面批量模拟用户操作测试场景上的局限性;解决此测试场景中人工耗时长、成本高;效率低;准确率差等问题;
本申请在前端设计使用上实现了简单、灵活、易用。对无测试/开发经验者也可直接使用。
本申请相比传统的人工测试,在实际使用中节省了测试90%以上的人力成本、节约90%以上的测试时间、增加了测试结果准确率、大大提高了整体测试的效率。
本申请支持多个平台的使用,可应用于业界多数云桌面产品,自动化测试方案并可适用于业界云桌面产品。
本申请附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的系统开发思路流程图;
图2为第一个实施例的整体系统结构示意图;
图3为第一个实施例的自动化模拟用户操作指令脚本分解示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了云桌面场景下批量模拟用户操作的自动化测试方法;
如图1和图2所示,云桌面场景下批量模拟用户操作的自动化测试方法,包括:
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
进一步地,所述方法的主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作步骤之前,还包括:主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机;主控制脚本Socket_console根据局域网内广播地址和定义端口,与自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report建立UDP协议通信连接;
进一步地,所述方法主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机步骤之前,还包括:在每一台主机上部署报告生成脚本Socket_report,在每一台虚拟机上部署自动化模拟用户操作指令控制脚本Socket_receiver,在随机选择的一台虚拟机上部署主控制脚本Socket_console;其中,主机有若干台,在每一台主机上均部署多个虚拟机,建立云终端与虚拟机之间的通信连接,在每个云终端上部署云桌面客户端并连接虚拟机。
进一步地,所述报告生成脚本Socket_report,脚本创建步骤包括:
(11)设定utf-8编码格式;
(12)导入python模块;
(13)根据待测主机上操作系统相关操作命令监控主机的CPU、内存、磁盘io、网络带宽等性能;
(14)根据监控的主机性能数据分类写入到报告文件中,自动保存在主机定义目录下;
(15)设置相关发送/接收邮箱地址、SMTP服务器地址、SMTP服务端口封装于测试脚本中;
(16)自动将报告文件作为附件发送至设置的接收邮件。
(17)定义结束脚本指令(quit),if进行判断指令,若接收数据为正确指令,则break退出当前循环,并结束脚本。
进一步地,所述报告生成脚本Socket_report,包括:
实现接收主控制脚本Socket_console发送的通讯指令、对相应主机的性能进行数据采集,停止对主机性能的监控,自动生成CSV类型测试报告,再自动将测试报告作为附件发送邮件,退出本脚本。
示例性的,所述主机的性能,包括:主机的CPU、内存、磁盘和网络性能。
进一步地,所述自动化模拟用户操作控制指令脚本Socket_receiver,脚本创建步骤包括:
(21)设定utf-8编码格式;
(22)导入python模块;
(23)设置ip地址和端口等参数;
(24)绑定地址,定义接收指令参数,无限循环接收指令,对定义的指令将执行相关动作,对无用指令不做处理。
(25)定义启动自动化模拟用户操作指令(WPS、word、excel、PPT、PDF、browser、Photoshop、Pycharm、AutoCAD、3dmax等),if进行判断指令,若接收数据为正确指令,则使用os.system进行启动自动化模拟用户操作指令脚本。
(26)定义关闭自动化模拟用户操作指令(close),if进行判断指令,若接收数据为正确指令,则使用os模块进行关闭自动化模拟用户操作指令脚本。
(27)定义更换自动化模拟用户操作指令(copy),设置相关更换脚本存放目录,if进行判断指令,若接收数据为正确指令,则使用os模块进行更换自动化模拟用户操作指令脚本。
(28)定义控制重启虚拟机或控制关闭虚拟机指令(shutdown和reboot),if进行判断指令,若接收数据为正确指令,则使用os模块和操作系统命令进行控制重启虚拟机或控制关闭虚拟机。
(29)定义结束脚本指令(quit),if进行判断指令,若接收数据为正确指令,则break退出当前循环,并结束脚本。
进一步地,所述自动化模拟用户操作指令控制脚本Socket_receiver,包括:
接收主控制脚本Socket_console发送的通讯指令、启动自动化模拟用户操作指令脚本、关闭自动化模拟用户操作指令脚本、更换自动化模拟用户操作指令脚本、控制重启虚拟机或控制关闭虚拟机和退出本脚本。
进一步地,所述主控制脚本Socket_console,脚本创建步骤包括:
(31)设定utf-8编码格式;
(32)导入python模块;
(33)加入while循环,判断广播地址的有效性,包含练连通性判断、正则表达式判断,结合if判断,若广播地址是有效的,退出循环。否则弹出相关输入错误提示。
(34)设置ip地址、端口等参数;
(35)加入无限循环,设置可输入指令,将输入指令参数通过UDP协议发送至待测主机上的报告生成脚本Socket_report和待测虚拟机上的自动化模拟用户操作控制脚本Socket_receiver。
(36)加入结束脚本指令(quit),if判断若指令正确,会将quit指令发送至报告生成脚本Socket_report和自动化模拟用户操作控制脚本Socket_receiver,会break退出循环,此时三个脚本一起结束。
进一步地,所述主控制脚本Socket_console,包括:
控制报告生成脚本Socket_report、控制自动化模拟用户操作控制指令脚本Socket_receiver和退出脚本。
进一步地,所述自动化模拟用户操作指令脚本,是使用Sikuli语言封装好的模块,实现图像识别、鼠标及键盘模拟。
进一步地,所述自动化模拟用户操作指令脚本,创建步骤包括:
轻量级应用场景通用软件模拟用户操作指令脚本开发举例如下:
自动化模拟用户操作指令脚本(word):
(41)设定utf-8编码格式;
(42)导入sikuli模块;
(43)使用subprocess模块设定打开word文件;
(44)使用wait方法等待并判断成功打开word文件后,type方法来模拟键盘输入模拟用户打字;
(45)设置等待时长为0.5秒打一次,循环300次;
(46)键盘模拟使用word快捷键设置字号和字体颜色;
(47)鼠标模拟插入固定的示例图片;
(48)键盘模拟进行ctrl+s保存以上编辑内容;
(49)(44)到(48)操作步骤加入循环3次;
(50)键盘模拟使用word快捷键关闭wod文件。
自动化模拟用户操作指令脚本(browser):
(51)设定utf-8编码格式;
(52)导入sikuli模块;
(53)鼠标模拟设定打开Google Chrome浏览器;
(54)键盘事件模拟输入新浪网址,访问新浪网主页,鼠标事件模拟滚轮实现浏览新浪网主页;
(55)键盘事件模拟输入网易网址,访问网易主页,鼠标事件模拟滚轮实现浏览网易主页;
(56)键盘事件模拟输入淘宝网址,访问淘宝主页,鼠标事件模拟滚轮实现浏览淘宝主页;
(57)鼠标事件模拟点击选择淘宝主页上的任一商品点击查看浏览;
(58)(54)到(57)操作步骤加入循环3次;
(59)键盘模拟快捷键关闭浏览器。
中量级应用场景通用软件模拟用户操作指令脚本开发举例如下:
自动化模拟用户操作指令脚本(photoshop):
(61)设定utf-8编码格式
(62)导入sikuli模块;
(63)鼠标模拟设定打开Photoshop软件;
(64)键盘事件模拟快捷键插入图片;
(65)鼠标事件模拟复制图层;
(66)鼠标和键盘事件模拟裁剪图片;
(67)键盘事件模拟快捷键另存为本地计算机目录下;
(68)(64)到(67)操作步骤加入循环3次;
(69)键盘模拟快捷键关闭Photoshop软件;
自动化模拟用户操作指令脚本(Pycharm)
(71)设定utf-8编码格式;
(72)导入sikuli模块;
(73)鼠标模拟设定打开Pycharm软件
(74)鼠标和键盘事件模拟新建.py文件;
(75)键盘事件写入固定代码,如打印字符串;
(76)鼠标模拟点击运行代码;
(77)鼠标和键盘事件模拟清空代码;
(78)(75)到(77)操作步骤加入循环6次;
(79)键盘模拟快捷键关闭Pycharm软件;
重量级应用场景通用软件模拟用户操作指令脚本开发举例如下:
自动化模拟用户操作指令脚本(AutoCAD):
(81)设定utf-8编码格式;
(82)导入sikuli模块;
(83)鼠标模拟设定打开AutoCAD软件;
(84)键盘事件模拟快捷键导入固定模板;
(85)鼠标和键盘事件模拟编辑CAD模板;
(86)鼠标模拟左右拖动模板;
(87)键盘模拟进行ctrl+shift+s另存为到计算机;
(88)(84)到(87)操作步骤加入循环6次;
(89)键盘模拟快捷键关闭AutoCAD软件。
自动化模拟用户操作指令脚本(3dmax):
(91)设定utf-8编码格式;
(92)导入sikuli模块;
(93)鼠标模拟设定打开3dmax软件
(94)键盘事件模拟快捷键导入固定模板;
(95)鼠标模拟左右拖动模板;
(96)(95)操作步骤加入循环50次,每次间隔0.5秒;
(97)键盘模拟快捷键关闭3dmax软件;
进一步地,所述自动化模拟用户操作指令脚本,包括:一个场景对应一个自动化模拟用户操作指令脚本,或者,多个场景对应一个自动化模拟用户操作指令脚本。自动化模拟用户操作指令脚本可灵活扩展。
进一步地,所述自动化模拟用户操作指令脚本,用于实现不同用户操作场景的模拟用户操作。
进一步地,如图3所示,所述不同用户操作场景,包括:轻量级应用场景、中量级应用场景和重量级应用场景;
所述轻量级应用场景,包括:WPS、Office(Word、Excel、PPT)、解/压缩、PDF浏览或网页软件操作;
所述中量级应用场景,包括:Photoshop、Eclipse或Pycharm软件操作;
所述重量级应用场景,包括:AutoCAD、3dmax、Pro/E软件操作。
为解决现有技术和测试方案上存在的不足,本申请结合Python、Socket模块、Sikuli等开发了一种云桌面场景下批量模拟用户操作的自动化测试系统。稳定实现批量实时控制用户所使用虚拟机内的各类操作,并实时监控主机端性能值,最终自动整理测试数据报告邮件发送。
批量模拟用户操作的自动化测试系统主要实现n台采样云桌面在不同用户场景自动化测试,得出对服务器所产生的压力结果;测试出每个用户场景在一台云桌面所产生的压力结果;又可以基于稳定采样云桌面台数,进行7*24小时长时间用户模拟稳定性测试等。
为实现上述目的,本申请开发过程及具体实施技术方案如下:
前提:测试前保证运行主机服务器的配置,一般情况需保证服务器是内存、磁盘io、网络不能达到限制,CPU性能值保证75%以下。
如下,第一步到第十二步是开发流程方案及数据处理过程。第十二到第十三步是普通测试人员具体实施使用批量模拟用户操作的自动化测试系统相关说明。
第一步,将用户操作场景进行分类。分为轻量级应用场景、中量级应用场景、重量级应用场景。以虚拟机为windows 7x64系统为例,用户操作场景等级也分为轻量级,中量级,重量级;轻量级别如WPS或Office(Word、Excel、PPT)、解/压缩、PDF浏览、网页操作等类似软件操作。中量级别如Photoshop、Eclipse、Pycharm等类似软件操作。重量级操作如AutoCAD、3dmax、Pro/E等类似软件操作。根据用户操作场景的等级去对应实际应用的各行各业。如政务办公使用WPS或Office居多,再如平面设计师使用Photoshop居多。
第二步,根据用户操作场景,实现自动化操作。使用Sikuli、Python等语言结合开发多个自动化模拟用户操作指令脚本。可分为一个场景对应一个自动化自动化模拟用户操作指令脚本和多个场景对应一个自动化模拟用户操作指令脚本。比如自动模拟用户操作word脚本、自动模拟用户操作Photoshop脚本、自动模拟用户操作AutoCAD脚本等。
第三步,将n个自动化模拟用户操作指令脚本复制到模板虚拟机任意目录下。
第四步,使用python+socket模块开发socket_receiver脚本。socket_receiver脚本的功能分为“启动自动化模拟用户操作指令脚本”、“关闭自动化模拟用户操作指令脚本”、“更换自动化模拟用户操作指令脚本”、“控制重启/关闭虚拟机”等。
第五步,socket_receiver脚本定义通讯指令和14321端口(可自定义端口),如启动自动化模拟用户操作指令脚本(word操作),把通讯指令定义成“word”;启动自动化模拟用户操作指令脚本(excel操作),把通讯指令定义成“excel”;启动自动化模拟用户操作指令脚本(网页操作),把通讯指令定义成“browser”等。
第六步,将socket_receiver脚本复制到模板虚拟机自启动目录下,实现了开机自动运行该脚本。至此,将该虚拟机创建模板,后面通过模板再创建n台虚拟机(n个虚拟机数量值具体根据服务器配置而定),通过管理台将n台虚拟机开机。使用n个采样终端和显示器连接虚拟机进入云桌面(n个采样终端数量等于n台虚拟机数量),可直接查看采样终端的体验情况,目的是更真实的模拟用户的操作(主要体现显示网)。
第七步,使用python+socket模块开发socket_report脚本,socket_report脚本实现对所有主机性能进行数据采集,自动生成CSV类型测试报告,再自动将测试报告作为附件发送邮件。测试数据主要包含主机的CPU、内存、磁盘、网络性能数值,在CSV文件中每个sheet页生成一种监控数据类型。一般主机端的CPU值达到75%左右基本是上限值,在测试过程中不可达到上限,不然会导致虚拟机出现轻微卡顿现象。
第八步,socket_report脚本定义通讯指令和14321端口(可自定义端口),如开始监控主机数据通讯指令可定义为“start”;停止监控主机数据通讯指令可定义为“stop”;生成CSV类型测试报告通讯指令可定义为“report”;自动将测试报告作为附件发送邮件通讯指令可定义为“mail”;
第九步,socket_report脚本运行在所有主机服务器,实现自启动。
第十步,使用python+socket模块开发socket_console脚本,socket_console脚本通过广播地址、14321端口(可自定义端口)、通讯指令、sendto函数,实现跟n台采样虚拟机上的socket_receiver脚本和所有主机上的socket_report脚本通讯,来控制socket_receiver脚本和socket_report脚本。从而起到批量模拟用户操作的自动化测试和自动生成测试报告并发送邮件的效果。
第十一步,socket_console脚本复制在任意一台采样虚拟机的任意目录下,通过一台采样终端连接虚拟机打开socket_console脚本。测试人员直接使用socket_console脚本完成云桌面下批量模拟用户操作的自动化测试。至此,开发流程完毕。
第十二步,普通测试人员具体实施及使用批量模拟用户操作的自动化测试系统步骤如下:
12.1测试人员将n个自动化模拟用户操作脚本复制到模板虚拟机任意目录下,将socket_receiver脚本复制到模板虚拟机自启动目录下,开机自动运行该脚本。
12.2将模板虚拟机创建模板,通过模板再创建n台虚拟机(n个虚拟机数量值具体根据服务器配置而定,一般情况需保证服务器是内存充足、磁盘io充足、网络保证千兆,CPU性能值75%以下。),通过管理台将n台虚拟机开机。使用n个采样终端和显示器连接虚拟机进入云桌面(n个采样终端数量等于n台虚拟机数量),可直接查看采样终端的体验情况,目的是更真实的模拟用户的操作(主要体现显示网)。
12.3测试人员将socket_report脚本复制在所有主机服务器,并执行启动脚本。
12.4测试人员将socket_console脚本复制在任意一台采样虚拟机的任意目录下,通过一台采样终端连接该采样虚拟机打开socket_console脚本。
12.5接下来测试人员只需要使用socket_console脚本即可,先输入虚拟机所在网段的广播地址确认。再根据相关场景进行操作。
12.6基于以上步骤,继续操作举例:
例如,测试n个用户在操作word软件时对主机服务器的压力;
步骤1,在socket_console脚本输入“start”通讯指令,socket_report脚本接收指令后会让主机服务器自动监控数据;
步骤2,在socket_console脚本输入“word”通讯指令,socket_receiver脚本接收指令后就会让n台采样云桌面虚拟机内自动调用自动模拟用户操作word脚本;
步骤3,当n台采样云桌面模拟全部模拟word操作完毕后,socket_console脚本输入“stop”和“mail”通讯指令,socket_report脚本接收指令后就会让主机服务器监控数据停止,并且将监控主机的CPU、内存、磁盘、网络性能数值以csv文件附件形式发送设定好的邮箱内,也可在主机服务器上手动复制数据报告。
步骤4,监控数据报告会自动分析出n个用户在操作word软件时,对主机服务器的各项性能压力。测试和研发人员再查阅报告。
12.7不同应用软件的用户操作场景的压力测试跟上面举例的测试方法基本相同。
12.8结果分析,可以得出n台采样云桌面在不同用户场景自动化测试下,对服务器所产生的压力结果;还可以测试出每个用户场景在一台云桌面测试所产生的压力结果;又可以基于稳定采样云桌面台数,进行7*24小时长时间用户模拟稳定性测试等。
12.9进而已实现了云桌面场景下批量模拟用户操作的自动化测试。
注意:若出现用户操作场景更改,此时需要更换自动化模拟用户操作脚本。那么使用socket_console脚本执行“copy”通讯指令,socket_report脚本接收指令后会把新的自动化模拟用户操作指令脚本复制到所有虚拟机内。
第十三步,至此,以上所述为一种云桌面场景下批量模拟用户操作的自动化测试系统的开发流程和实施方案。
本申请采用多脚本互相调用通讯的方式,有效的将每个用户场景灵活测试。整套自动化测试系统安全可控,Socket_console端可同时控制所有虚拟机和监控所有主机性能。
本申请中对于socket_receiver端加入更换自动化模拟用户操作指令脚本功能,对于测试场景发生变化,做到了灵活处理。
本申请在Socket_receiver端采用多线程处理的方式,高效的进行多个功能的同时运行,并采用相关指令进行判断,实现了多线程运行时的互不影响。
本申请在Socket_console端通过ip地址实现了对单个虚拟机或主机控制,并可通过广播地址实现对所有虚拟机或主机控制。
实施例二
本实施例提供了云桌面场景下批量模拟用户操作的自动化测试系统;
云桌面场景下批量模拟用户操作的自动化测试系统,包括:
若干台主机,在每一台主机上均部署多个虚拟机,建立云终端与虚拟机之间的通信连接,在每个云终端上部署云桌面客户端并连接虚拟机;
在每一台主机上部署报告生成脚本Socket_report,在每一台虚拟机上部署自动化模拟用户操作指令控制脚本Socket_receiver,在随机选择的一台虚拟机上部署主控制脚本Socket_console;
主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机;主控制脚本Socket_console根据局域网内广播地址和定义端口,与自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report建立UDP协议通信连接;
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,包括:
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
2.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,还包括:主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机;主控制脚本Socket_console根据局域网内广播地址和定义端口,与自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report建立通信连接。
3.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,在每一台主机上部署报告生成脚本Socket_report,在每一台虚拟机上部署自动化模拟用户操作指令控制脚本Socket_receiver,在随机选择的一台虚拟机上部署主控制脚本Socket_console;其中,主机有若干台,在每一台主机上均部署多个虚拟机,建立云终端与虚拟机之间的通信连接,在每个云终端上部署云桌面客户端并连接虚拟机。
4.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述报告生成脚本Socket_report,包括:
实现接收主控制脚本Socket_console发送的通讯指令、对相应主机的性能进行数据采集,停止对主机性能的监控,自动生成CSV类型测试报告,再自动将测试报告作为附件发送邮件,退出本脚本。
5.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述自动化模拟用户操作指令控制脚本Socket_receiver,包括:
接收主控制脚本Socket_console发送的通讯指令、启动自动化模拟用户操作指令脚本、关闭自动化模拟用户操作指令脚本、更换自动化模拟用户操作指令脚本、控制重启虚拟机或控制关闭虚拟机和退出本脚本。
6.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述主控制脚本Socket_console,包括:
控制报告生成脚本Socket_report、控制自动化模拟用户操作控制指令脚本Socket_receiver和退出脚本。
7.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述自动化模拟用户操作指令脚本,包括:一个场景对应一个自动化模拟用户操作指令脚本,或者,多个场景对应一个自动化模拟用户操作指令脚本。
8.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述自动化模拟用户操作指令脚本,用于实现不同用户操作场景的模拟用户操作。
9.如权利要求1所述的云桌面场景下批量模拟用户操作的自动化测试方法,其特征是,所述不同用户操作场景,包括:轻量级应用场景、中量级应用场景和重量级应用场景;所述轻量级应用场景,包括:WPS、Office、解/压缩、PDF浏览或网页软件操作;所述中量级应用场景,包括:Photoshop、Eclipse或Pycharm软件操作;所述重量级应用场景,包括:AutoCAD、3dmax、Pro/E软件操作。
10.云桌面场景下批量模拟用户操作的自动化测试系统,其特征是,包括:
若干台主机,在每一台主机上均部署多个虚拟机,建立云终端与虚拟机之间的通信连接,在每个云终端上部署云桌面客户端并连接虚拟机;
在每一台主机上部署报告生成脚本Socket_report,在每一台虚拟机上部署自动化模拟用户操作指令控制脚本Socket_receiver,在随机选择的一台虚拟机上部署主控制脚本Socket_console;
主控制脚本Socket_console在局域网通过广播地址发送至所有局域网内的待测主机和虚拟机;主控制脚本Socket_console根据局域网内广播地址和定义端口,与自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report建立UDP协议通信连接;
主控制脚本Socket_console通过通讯指令控制自动化模拟用户操作控制指令脚本Socket_receiver和报告生成脚本Socket_report同时开始工作;
所有自动化模拟用户操作控制指令脚本Socket_receiver均接收输入的待测试用户操作场景指令;所有自动化模拟用户操作控制指令脚本Socket_receiver,均根据输入的待测试用户操作场景指令调用自动化模拟用户操作脚本,采样云桌面终端连接的虚拟机上实现待测试用户操作场景的批量模拟用户操作;
同时,所有报告生成脚本Socket_report均采集对应待测试主机的性能,所有报告生成脚本Socket_report均将采集的待测试主机性能生成测试报告。
CN202011320210.0A 2020-11-23 2020-11-23 云桌面场景下批量模拟用户操作的自动化测试方法及系统 Pending CN112416769A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011320210.0A CN112416769A (zh) 2020-11-23 2020-11-23 云桌面场景下批量模拟用户操作的自动化测试方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011320210.0A CN112416769A (zh) 2020-11-23 2020-11-23 云桌面场景下批量模拟用户操作的自动化测试方法及系统

Publications (1)

Publication Number Publication Date
CN112416769A true CN112416769A (zh) 2021-02-26

Family

ID=74778614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011320210.0A Pending CN112416769A (zh) 2020-11-23 2020-11-23 云桌面场景下批量模拟用户操作的自动化测试方法及系统

Country Status (1)

Country Link
CN (1) CN112416769A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835946A (zh) * 2021-10-26 2021-12-24 北京淳中科技股份有限公司 数据交换的压力测试方法
CN117909247A (zh) * 2024-03-15 2024-04-19 山东乾云启创信息科技股份有限公司 一种龙芯云桌面的自动化测试方法、系统、介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294141A (zh) * 2016-08-02 2017-01-04 叠云(北京)科技股份有限公司 基于公有云桌面的应用软件性能测试方法
CN106406975A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 桌面云系统的测试方法及装置
US20180129584A1 (en) * 2016-11-07 2018-05-10 Vmware, Inc. Collaborative debugging
CN109002290A (zh) * 2018-10-15 2018-12-14 昆明理工鼎擎科技股份有限公司 一体化ecu嵌入式目标代码自动生成器及自动生成方法
US20200151083A1 (en) * 2018-11-14 2020-05-14 Citrix Systems, Inc. Systems and methods for performance bug and grievance reports for saas applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406975A (zh) * 2015-07-30 2017-02-15 中兴通讯股份有限公司 桌面云系统的测试方法及装置
CN106294141A (zh) * 2016-08-02 2017-01-04 叠云(北京)科技股份有限公司 基于公有云桌面的应用软件性能测试方法
US20180129584A1 (en) * 2016-11-07 2018-05-10 Vmware, Inc. Collaborative debugging
CN109002290A (zh) * 2018-10-15 2018-12-14 昆明理工鼎擎科技股份有限公司 一体化ecu嵌入式目标代码自动生成器及自动生成方法
US20200151083A1 (en) * 2018-11-14 2020-05-14 Citrix Systems, Inc. Systems and methods for performance bug and grievance reports for saas applications

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835946A (zh) * 2021-10-26 2021-12-24 北京淳中科技股份有限公司 数据交换的压力测试方法
CN113835946B (zh) * 2021-10-26 2023-12-12 北京淳中科技股份有限公司 数据交换的压力测试方法
CN117909247A (zh) * 2024-03-15 2024-04-19 山东乾云启创信息科技股份有限公司 一种龙芯云桌面的自动化测试方法、系统、介质及设备

Similar Documents

Publication Publication Date Title
US7398514B2 (en) Test automation stack layering
WO2010113160A1 (en) A method and system for emulating desktop software applications in a mobile communication network
EP3074863A1 (en) System and method for testing data representation for different mobile devices
CN112416769A (zh) 云桌面场景下批量模拟用户操作的自动化测试方法及系统
US10929277B2 (en) Detecting hard-coded strings in source code
CN113485880A (zh) 测试方法及装置
CN107678949A (zh) 实现嵌入式设备不同通信方式的自动化测试方法
CN110955600A (zh) 接口测试方法及装置
CN111858584A (zh) 元数据管理方法、系统及存储介质
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
CN111881042A (zh) 自动化测试脚本的生成方法、装置和电子设备
CN114594934A (zh) 一种可视化页面生成方法、装置、设备及介质
CN116166525A (zh) 一种测试脚本的生成方法及装置
CN115934244A (zh) 生成用于测试容器编排系统的测试集群
CN115203054A (zh) 一种虚拟化芯片测试系统
CN113360379B (zh) 程序测试环境创建方法和程序测试环境创建装置
CN111309624A (zh) 测试方法、装置、设备及存储介质
US10135684B2 (en) Differential staging of devices in bulk enrollment
CN113835700A (zh) 活动上线方法、装置、电子设备及计算机可读存储介质
CN112423024A (zh) 一种视频转码方法、装置、计算机设备和存储介质
WO2023151397A1 (zh) 应用程序部署方法、装置、设备及介质
CN111488275A (zh) Ui自动化测试方法、装置、存储介质及电子设备
US20220206929A1 (en) Managing a global network of virtual testers
CN112699042B (zh) 一种单元测试案例的生成方法及装置
CN113590564A (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