基于SSH的Windows软件启动方法、装置和计算机设备与流程

文档序号:20874763发布日期:2020-05-26 16:20阅读:430来源:国知局
基于SSH的Windows软件启动方法、装置和计算机设备与流程

本发明涉及计算机测试技术领域,特别是涉及一种基于ssh的windows软件启动方法、装置、计算机设备和存储介质。



背景技术:

目前,随着计算机技术的迅速发展,计算机的远程测试越来越受到各大厂商的重视。ssh(secureshell)是较可靠专为远程登录会话和其他网络服务提供安全性的协议,此外,利用ssh协议可以有效防止远程管理过程中的信息泄露问题。

在传统技术中,通过ssh对windows操作系统下测试机发送任务时,ssh通道里的所有的命令都是后台运行,而windows操作系统下的测试软件大部分都有图形界面,针对这些软件的自动化测试软件需要获取相应的图形控件才能进行,所以通过传统的ssh单独控制是无法正常完成这样的windows自动化测试的。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种可以实现在ssh通道里能起启动windows软件的基于ssh的windows软件启动方法、装置、计算机设备和存储介质。

一种基于ssh的windows软件启动方法,所述方法包括:

获取基于ssh的windows软件启动请求;

根据所述基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;

将生成的测试任务文件分别发送至对应的测试机;

用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务;

继续利用命令行的方式启动所述定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。

在其中一个实施例中,在所述在控制机上创建测试任务生成测试队列并生成对应的测试任务文件的步骤之前还包括:

在所有测试机上开启ssh服务,并设置相应的登陆密码;

控制机通过遍历所在网端内的所有测试机,获取有效的ip地址。

在其中一个实施例中,在所述在控制机上创建测试任务生成测试队列并生成对应的测试任务文件的步骤之后还包括:

所述控制机根据获取到的有效的ip地址,通过多线程的方式连接到所有的有效测试机。

在其中一个实施例中,所述用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务的步骤还包括:

通过schtasks命令设置定时任务;

将所述定时任务的启动时间设为00:00;

将所述定时任务的目标设为所述测试任务文件中的测试任务;

继续通过schtasks命令启动所述定时任务。

一种基于ssh的windows软件启动装置,所述装置包括:

获取模块,所述获取模块用于获取基于ssh的windows软件启动请求;

创建模块,所述创建模块用于根据所述基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;

发送模块,所述发送模块用于将生成的测试任务文件分别发送至对应的测试机;

设置模块,所述设置模块用于用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务;

启动模块,所述启动模块用于继续利用命令行的方式启动所述定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。

在其中一个实施例中,所述装置还包括预设模块,所述预设模块用于:

在所有测试机上开启ssh服务,并设置相应的登陆密码;

控制机通过遍历所在网端内的所有测试机,获取有效的ip地址。

在其中一个实施例中,所述装置还包括连接模块,所述连接模块用于:

所述控制机根据获取到的有效的ip地址,通过多线程的方式连接到所有的有效测试机。

在其中一个实施例中,所述设置模块还用于:

通过schtasks命令设置定时任务;

将所述定时任务的启动时间设为00:00;

将所述定时任务的目标设为所述测试任务文件中的测试任务;

继续通过schtasks命令启动所述定时任务。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述基于ssh的windows软件启动方法、装置、计算机设备和存储介质,通过获取基于ssh的windows软件启动请求;根据所述基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;将生成的测试任务文件分别发送至对应的测试机;用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务;继续利用命令行的方式启动所述定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。本发明利用定时任务的方式在ssh通道里调起windows软件的图形界面,实现了既利用了ssh通道控制,又可以完成模拟操作者操作调起图形界面,为自动化批量测试奠定了基础。

附图说明

图1为一个实施例中基于ssh的windows软件启动方法的应用环境图;

图2为一个实施例中基于ssh的windows软件启动方法的流程示意图;

图3为另一个实施例中基于ssh的windows软件启动方法的流程示意图;

图4为再一个实施例中基于ssh的windows软件启动方法的流程示意图;

图5为一个实施例中基于ssh的windows软件启动装置的结构框图;

图6为另一个实施例中基于ssh的windows软件启动装置的结构框图;

图7为再一个实施例中基于ssh的windows软件启动装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

目前,在现有技术中,通过ssh对windows操作系统下测试机发送任务时,ssh通道里的所有的命令都是后台运行,而windows系统下的测试软件大部分都有图形界面,针对这些软件的自动化测试软件需要获取相应的图形控件才能进行,所以传统的ssh单独控制是无法正常完成这样的windows自动化测试的。

基于此,本发明提出一种新的解决方案,旨在能够实现在ssh通道里能启动windows下的软件。

在一个实施例中,如图2所示,提供了一种基于ssh的windows软件启动方法,该方法包括:

步骤202,获取基于ssh的windows软件启动请求;

步骤204,根据基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;

步骤206,将生成的测试任务文件分别发送至对应的测试机;

步骤208,用命令行的方式设置定时任务并将定时任务的目标设为测试任务文件中的测试任务;

步骤210,继续利用命令行的方式启动定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。

在本实施例中,提出了一种基于ssh的windows软件启动方法,该方法可以应用于如图1所示的应用环境中,通过利用定时任务的方式在ssh通道里调起windows软件的图形界面。

具体地,首先,控制机获取基于ssh的windows软件启动请求,并根据基于ssh的windows软件启动请求在控制机上创建测试任务生成测试队列并生成对应的测试任务文件。接着,控制机通过多线程的方式连接到所有的测试机,可以理解的是,这里一台控制机可以对应连接控制多台测试机,并将生成的测试任务文件分别发送至对应的测试机。然后,用命令行的方式设置定时任务,例如通过schtasks.exe设置一定时任务,把该定时任务的启动时间设为已过时间,所以这个定时任务不会按计划启动,并把定时任务的目标设为上述的测试任务。接着,继续利用schtasks.exe,例如:通过命令schtasks.exe/run/tn\\bat_run'启动定时任务,其中\\bat_run为该定时任务的任务名称,即相当于手动启动了一个定时任务。此时,对应的远端测试机上会弹起对应软件的图形界面,实现了利用定时任务的方式在ssh通道里调起windows软件的图形界面。

在本实施例中,通过获取基于ssh的windows软件启动请求;根据所述基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;将生成的测试任务文件分别发送至对应的测试机;用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务;继续利用命令行的方式启动所述定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。本方案利用定时任务的方式在ssh通道里调起windows软件的图形界面,实现了既利用了ssh通道控制,又可以完成模拟操作者操作调起图形界面,为自动化批量测试奠定了基础。

在一个实施例中,如图3所示,提供了一种基于ssh的windows软件启动方法,该方法中用命令行的方式设置定时任务并将定时任务的目标设为测试任务文件中的测试任务的步骤还包括:

步骤302,通过schtasks命令设置定时任务;

步骤304,将定时任务的启动时间设为00:00;

步骤306,将定时任务的目标设为测试任务文件中的测试任务;

步骤308,继续通过schtasks命令启动定时任务。

在本实施例中通过schtasks.exe进行定时任务的设置以及启动。其中,schtasks.exe是windows下定时任务的命令行软件安排命令和程序定期运行或在指定时间内运行,从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。

具体地,首先,用命令行的方式设制定时任务schtasks.exe,把启动时间设为00:00(已过时间),所以这个定时任务不会按计划启动,并把定时任务的目标设为的测试任务。接着,继续利用schtasks.exe,例如schtasks.exe/run/tn\\bat_run',\\bat_run为定时任务的任务名称,相当于手动启动了一个定时任务。此时,对应的远端测试机上会弹起对应软件的图形界面,实现了既利用了ssh通道控制,又可以完成模拟操作者操作调起图形界面,为自动化批量测试奠定了基础。

在一个实施例中,如图4所示,提供了一种基于ssh的windows软件启动方法,该方法在控制机上创建测试任务生成测试队列并生成对应的测试任务文件的步骤之前还包括:

步骤402,在所有测试机上开启ssh服务,并设置相应的登陆密码;

步骤404,控制机通过遍历所在网端内的所有测试机,获取有效的ip地址。

在一个实施例中,提供了一种基于ssh的windows软件启动方法,该方法在控制机上创建测试任务生成测试队列并生成对应的测试任务文件的步骤之后还包括:控制机根据获取到的有效的ip地址,通过多线程的方式连接到所有的有效测试机。

在上述实施例中,提供了完整的基于ssh的windows软件启动方法,该方法具体包括如下步骤:

1、在所有的测试机上开启ssh服务,并设置登陆密码。

2、控制机遍历所在网端内的所有测试机,获取到有效的ip地址。

3、用户在控制机上创建测试任务,生成测试队列,并生成任务文件。

4、控制机通过多线程的方式连接到所有的有效测试机。

5、发送测试任务文件到测试机。

6、用命令行的方式设置定时任务(schtasks.exe),把启动时间设为00:00(已过时间),所以这个定时任务不会按计划启动,并把定时任务的目标设为第五步中的测试任务。

7、继续利用(schtasks.exe)比如schtasks.exe/run/tn\\bat_run',\\bat_run为定时任务的任务名称,相当于手动启动了一个定时任务。

8、此时远端的测试机上会弹起软件的图形界面。

应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种基于ssh的windows软件启动装置500,该装置包括:

获取模块501,用于获取基于ssh的windows软件启动请求;

创建模块502,用于根据所述基于ssh的windows软件启动请求,在控制机上创建测试任务生成测试队列并生成对应的测试任务文件;

发送模块503,用于将生成的测试任务文件分别发送至对应的测试机;

设置模块504,用于用命令行的方式设置定时任务并将所述定时任务的目标设为所述测试任务文件中的测试任务;

启动模块505,用于继续利用命令行的方式启动所述定时任务对应的测试任务,以使远端对应的测试机启动软件的图形界面。

在一个实施例中,如图6所示,提供了一种基于ssh的windows软件启动装置500,该装置还包括预设模块506,用于:

在所有测试机上开启ssh服务,并设置相应的登陆密码;

控制机通过遍历所在网端内的所有测试机,获取有效的ip地址。

在一个实施例中,如图7所示,提供了一种基于ssh的windows软件启动装置500,该装置还包括连接模块507,用于:

所述控制机根据获取到的有效的ip地址,通过多线程的方式连接到所有的有效测试机。

在其中一个实施例中,设置模块504还用于:

通过schtasks命令设置定时任务;

将所述定时任务的启动时间设为00:00;

将所述定时任务的目标设为所述测试任务文件中的测试任务;

继续通过schtasks命令启动所述定时任务。

关于基于ssh的windows软件启动装置的具体限定可以参见上文中对于基于ssh的windows软件启动方法的限定,在此不再赘述。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于ssh的windows软件启动方法。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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