一种桌面操作系统应用启动时间的测试方法及系统

文档序号:190281 发布日期:2021-11-02 浏览:30次 >En<

阅读说明:本技术 一种桌面操作系统应用启动时间的测试方法及系统 (Method and system for testing application starting time of desktop operating system ) 是由 杨亮 周子翔 陈妮 唐晓东 李杨 刘梦祺 彭蓬勃 于 2021-09-29 设计创作,主要内容包括:本申请公开了一种桌面操作系统应用启动时间的测试方法及系统,在桌面操作系统上配置并运行应用启动时间测试脚本,所述应用启动时间测试脚本中配置有包括待测应用的运行命令和待测应用窗口名称的测试应用集,通过应用启动时间测试脚本实现测试自动化,极大的提高了测试效率,采用搜索窗口名称判断应用是否启动的方式,有效保证了测试的精确度,并为桌面操作系统应用优化提供了很大的价值,实现了桌面操作系统上的应用启动时间自动化测试。(The application discloses a method and a system for testing application starting time of a desktop operating system, wherein an application starting time test script is configured and operated on the desktop operating system, a test application set comprising an operation command of an application to be tested and a name of an application window to be tested is configured in the application starting time test script, test automation is realized through the application starting time test script, test efficiency is greatly improved, a mode of judging whether the application is started or not by searching the name of the window is adopted, test accuracy is effectively ensured, great value is provided for application optimization of the desktop operating system, and automatic test of the application starting time on the desktop operating system is realized.)

一种桌面操作系统应用启动时间的测试方法及系统

技术领域

本申请涉及自动化测试领域,尤其涉及一种桌面操作系统应用启动时间的测试方法及系统。

背景技术

桌面操作系统指的是在计算机上借助硬件运行并完成计算的软件,随着桌面操作系统的发展,桌面操作系统的性能越来越受到用户和设备厂商的重视,而操作系统的应用启动时间性能一直是用户体验的重要指标。操作系统的应用启动时间直接影响着用户对操作系统评价的直观感受,因此操作系统应用启动时间的快慢是影响用户体验最直接的指标参数。

操作系统应用的启动时间作为操作系统的一项性能测试指标已在业界广泛应用,操作系统应用启动时间的数据为操作系统的质量提升提供有效的数据考量。现有技术常见的是通过鼠标双击应用开始计时,到该应用进程或界面开始展现或开始加载的时间差,以此判断该应用的启动时间,然而通过秒表记录,眼睛观测某个界面的启动,由于人为主观因素,其存在很大误差;如果需要测试多款应用的启动时间,靠目测的方法误差则更大,费时费力而且测试结果并不准确。

中国发明专利“应用启动时间的测试方法与终端及计算机可读存储介质”(申请号CN201710294121.5)公开了一种智能手机等移动终端的应用启动时间的测试方法及装置,涉及终端应用测试领域,用于解决移动终端的应用启动时间的自动测试问题,该发明只适用于移动终端,并没有考虑Linux操作系统等桌面操作系统,并且其采用应用加载状态的图像和内置的图像特征进行对比,由于目前的图像识别不能做到完全匹配,因此会出现一些识别错误的情况,识别准确度较低。

综上,目前缺少针对桌面操作系统应用启动时间的自动化测试方法。

发明内容

本发明的主要目的是提供一种桌面操作系统应用启动时间的测试方法及系统,旨在实现桌面操作系统中应用的启动时间的自动化测试,提升测试效率与准确度。

为实现上述目的,本发明第一方面提出一种桌面操作系统应用启动时间的测试方法,包括如下步骤:在桌面操作系统上配置并运行应用启动时间测试脚本,所述应用启动时间测试脚本中配置有包括待测应用的运行命令和待测应用窗口名称的测试应用集;所述应用启动时间测试脚本实时监测桌面操作系统应用的启动指令,当监测到桌面操作系统应用的启动指令时,记录开始时间;在所述桌面操作系统应用启动过程中,实时搜索所述桌面操作系统应用的窗口名称;判断搜索到的所述桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间,若否,则返回上一步骤;计算应用启动时间,所述应用启动时间等于所述结束时间减去所述开始时间;所述应用启动时间测试脚本根据所述应用启动时间生成并输出测试报告。

可选地,所述当监测到桌面操作系统应用的启动指令时,记录开始时间的步骤包括:所述应用启动时间测试脚本通过所述待测应用的运行命令打开应用,并且记录当前时间为开始时间。

可选地,所述实时搜索所述桌面操作系统应用的窗口名称的步骤包括:所述应用启动时间测试脚本调用xdotool工具自动循环搜索所述桌面操作系统应用的窗口名称。

可选地,所述判断搜索到的所述桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间的步骤包括:将xdotool工具搜索到的窗口名称与应用启动时间测试脚本中配置的待测应用窗口名称进行匹配,直到搜索到应用窗口名称与待测应用窗口名称一致后记录当前时间为结束时间,同时退出循环搜索并关闭应用。

可选地,所述应用启动时间测试脚本根据所述应用启动时间生成并输出测试报告的步骤包括:应用启动时间测试脚本自动打印并输出应用启动时间结果信息,并把所述应用启动时间以及应用相关信息输出到日志保存。

可选地,在运行应用启动时间测试脚本之前,先用xhost+开启访问权限,再运行所述应用启动时间测试脚本。

本发明第二方面提出一种桌面操作系统应用启动时间的测试系统,包括:储存模块,用于配置待测应用的运行命令和待测应用窗口名称的测试应用集;监测模块,用于实时监测桌面操作系统应用的启动指令,当监测到桌面操作系统应用的启动指令时,记录开始时间;窗口搜索模块,用于在所述桌面操作系统应用启动过程中,实时搜索所述桌面操作系统应用的窗口名称;匹配模块,用于判断搜索到的所述桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间;计算模块,用于计算应用启动时间,所述应用启动时间等于所述结束时间减去所述开始时间;输出模块,用于根据所述应用启动时间生成并输出测试报告。

可选地,本发明第二方面提出一种桌面操作系统应用启动时间的测试系统还包括:应用启动模块,用于调用待测应用的运行命令启动桌面操作系统应用,然后把启动信息发送给所述监测模块,所述监测模块接收到所述启动信息后将当前时间记为开始时间。

从以上技术方案可以看出,本申请实施例具有以下优点:

(1)能够应用于linux操作系统,填补了linux桌面操作系统中应用启动时间测试的空缺;

(2)可构建出各种应用启动时间的测试,并且符合用户实际体验的应用启动时间测试方法;

(3) 通过应用启动时间测试脚本实现测试自动化,极大的提高了测试效率,采用搜索窗口名称判断应用是否启动的方式,有效保证了测试的精确度,并为桌面操作系统应用优化提供了很大的价值。

附图说明

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

图1是本发明提供的桌面操作系统应用启动时间的测试方法的流程示意图;

图2是本发明提供的桌面操作系统应用启动时间的测试系统的模块框图。

具体实施方式

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

参见图1,本发明实施例提供了一种桌面操作系统应用启动时间的测试方法,包括如下步骤:

在桌面操作系统上配置并运行应用启动时间测试脚本,应用启动时间测试脚本中配置有包括待测应用的运行命令和待测应用窗口名称的测试应用集;

应用启动时间测试脚本实时监测桌面操作系统应用的启动指令,当监测到桌面操作系统应用的启动指令时,记录开始时间;

在桌面操作系统应用启动过程中,实时搜索桌面操作系统应用的窗口名称;

判断搜索到的桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间,若否,则返回上一步骤;

计算应用启动时间,应用启动时间等于结束时间减去开始时间;

应用启动时间测试脚本根据应用启动时间生成并输出测试报告。

需要说明的是,在本申请实施例中,桌面操作系统运行应用启动时间测试脚本时,脚本需要在root用户下去运行,应用的窗口则是需要展示在当前用户下,需要用xhost去开启访问权限,使root用户下的图形界面能够展示在当前登录用户的屏幕上。当登录用户切换到root用户去运行root用户下的应用时,作为图形是在登录用户客户端展示,需要用到客户端的Xserver,运行xhost +,是让其他用户都能访问客户端的Xserver;

此外,在本实施例中,用字典去存储测试应用集,字典是由唯一的键和对应的值形成的组合,将待测应用的运行命令和待测应用窗口名称配置在脚本中,需要通过待测应用的运行命令去打开应用,还需要判断待测应用的窗口名称与检测到的窗口名称是否相同,并使其一一对应。

本实施例通过应用启动时间测试脚本实现测试自动化,极大的提高了测试效率,采用搜索窗口名称判断应用是否启动的方式,有效保证了测试的精确度,并为桌面操作系统应用优化提供了很大的价值,实现了桌面操作系统上的应用启动时间自动化测试。

作为对上述实施例的进一步改进,当监测到桌面操作系统应用的启动指令时,记录开始时间的步骤包括:应用启动时间测试脚本通过待测应用的运行命令打开应用,并且记录当前时间为开始时间T1。本实施例中采用集成在应用启动时间测试脚本中的应用的运行命令打开应用,执行运行命令的时间即为开始时间T1,将打开应用这一步骤放置在脚本内执行,在确定开始时间T1不需要检测外部应用情况,提高脚本测试集成度和准确度。

作为对上述实施例的进一步改进,实时搜索桌面操作系统应用的窗口名称的步骤包括:应用启动时间测试脚本调用xdotool工具自动循环搜索桌面操作系统应用的窗口名称。xdotool是linux中类似“按键精灵”的工具,可以通过xdotool进行模拟击键、搜索窗口名称等操作,本发明实施例利用了xdotool工具的搜索窗口名称功能。由于xdotool工具可能不会一次就搜索到窗口,因此利用for循环判断程序,直到搜索到窗口后退出当前循环搜索。采用xdotool工具搜索窗口名称,是基于桌面操作系统进程信息获取,对比采用图像特征识别能够提高准确度,从而提高测试结果准确度。

进一步,在一个实施例中,判断搜索到的桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间的步骤包括:将xdotool工具搜索到的窗口名称与应用启动时间测试脚本中配置的待测应用窗口名称进行匹配,直到搜索到应用窗口名称与待测应用窗口名称一致后记录当前时间为结束时间T2,同时退出循环搜索并关闭应用,每个应用测试完成后需要去关闭应用,防止测试应用过多时,打开应用进程太多占用cpu,导致后面测试的应用打开时间缓慢,影响测试结果,用xdotool工具杀死窗口进程从而去关闭应用,具体语法为xdotool windowkill “窗口进程号”。通过获取到时间结果数据,使用数学公式计算出应用启动时间为上述结束时间减去开始时间,即应用启动时间T=T2-T1。

具体的,应用启动时间测试脚本根据应用启动时间生成并输出测试报告的步骤包括:应用启动时间测试脚本自动打印并输出应用启动时间结果信息,并把应用启动时间以及应用相关信息输出到日志保存。应用启动时间结果信息包括应用启动时间、开始时间和结束时间等,应用相关信息包括应用名称、类型和大小等,每测试一个应用,可以把应用启动时间结果以及应用相关信息输出到日志,这样测试完成后就可以根据日志去查看所测试应用打开所需要的时间。

参见图2,本发明实施例还提出一种桌面操作系统应用启动时间的测试系统,包括:储存模块,用于配置待测应用的运行命令和待测应用窗口名称的测试应用集;监测模块,用于实时监测桌面操作系统应用的启动指令,当监测到桌面操作系统应用的启动指令时,记录开始时间;窗口搜索模块,用于在桌面操作系统应用启动过程中,实时搜索桌面操作系统应用的窗口名称;匹配模块,用于判断搜索到的桌面操作系统应用的窗口名称与待测应用窗口名称是否一致,若是,则将当前时间记为结束时间;计算模块,用于计算应用启动时间,应用启动时间等于结束时间减去开始时间;输出模块,用于根据应用启动时间生成并输出测试报告。

进一步,上述桌面操作系统应用启动时间的测试系统还包括:应用启动模块,用于调用待测应用的运行命令启动桌面操作系统应用,然后把启动信息发送给监测模块,监测模块接收到启动信息后将当前时间记为开始时间。

本申请实施例的桌面操作系统应用启动时间的测试系统的工作原理和上述方法的流程相同,再次不做赘述。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:血液分析仪及其数据处理方法、计算机存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!