本发明涉及计算机服务器的技术领域,具体涉及到uefishell内部命令自动运行检测方法及系统。
背景技术:
在服务器领域中,对于熟悉支持uefibios服务器和pc的人们来说,uefishell已经不再陌生。uefishell下众多的命令,可以帮助研发,测试人员以及用户完成许多工作。但是这众多命令,对于测试人员来说,测试工作量是相当大的。那么如何保证shell命令的测试工作快速准确地完成,这就需要一套完整地自动化测试工具来帮忙。
目前,我们对uefishell命令的测试工作,还仅仅停留在手动测试,每次测试都要手动完成命令的输入,结果的核对。众多的命令,就会使我们的测试人员花费大量的测试时间。所以,亟需有一种自动化的测试工具,帮助我们完成这一系列命令检测的工作内容,节约测试时间和人力,提高测试效率,增加测试可靠性。
技术实现要素:
基于上述,本发明提出一种uefishell内部命令自动运行检测方法及系统。本发明应用于各种支持uefibios的服务器,尤其是现在的purley平台越来越重视uefi的测试,shell命令功能强大,应用此工具测试人员可以将shell命令测试又快又准,既节省了测试时间又增加了测试的可靠性。
本发明提供如下技术方案:
一方面,本发明提供uefishell内部命令自动运行检测方法,包括:
步骤101,预先定义至少一测试脚本、日志文件及检测脚本保存在测试工具包;
步骤102,将所述测试工具包存储于存储介质,并将所述存储介质接入被测系统,并重启所述被测系统;
步骤103,进入efishell,自动运行所述检测脚本,调用启动项设置脚本设置efishell为第一启动项,依次调用所述测试脚本,并将每一次测试结果保存在日志文件中,当完成最后一个测试脚本调用执行后,再次设置efishell为第一启动项;
步骤104,测试脚本调用结束后执行重置测试,并记录结束时间,更新所述日志文件并显示。
其中,所述依次调用测试脚本,并将每一次测试结果保存在日志文件中具体为:调用第一测试脚本,执行第一测试脚本测试,并将测试结果保存在日志文件中,然后调用第二测试脚本,执行第二测试脚本测试,并将测试结果保存在日志文件中,直到调用最后一个测试脚本。
其中,在更新日志文件之后,查看所述日志文件,确认检测pass还是fail。
其中,所述日志文件对检测fail项按照类型以不同颜色高亮显示,相同类型显示相同颜色。
另外,本发明还提供uefishell内部命令自动运行检测系统,所述系统包括:
预定义模块,用于预先定义至少一测试脚本、日志文件及检测脚本保存在测试工具包;
连接模块,用于将所述测试工具包存储于存储介质,并将所述存储介质接入被测系统,并重启所述被测系统;
运行模块,用于进入efishell,自动运行所述检测脚本,调用启动项设置脚本设置efishell为第一启动项,依次调用所述测试脚本,并将每一次测试结果保存在日志文件中,当完成最后一个测试脚本调用执行后,再次设置efishell为第一启动项;
结果模块,用于测试脚本调用结束后执行重置测试,并记录结束时间,更新所述日志文件并显示。
其中,所述依次调用测试脚本,并将每一次测试结果保存在日志文件中具体为:调用第一测试脚本,执行第一测试脚本测试,并将测试结果保存在日志文件中,然后调用第二测试脚本,执行第二测试脚本测试,并将测试结果保存在日志文件中,直到调用最后一个测试脚本。
其中,在更新日志文件之后,查看所述日志文件,确认检测pass还是fail。
其中,所述日志文件对检测fail项按照类型以不同颜色高亮显示,相同类型显示相同颜色。
本发明提供了uefishell内部命令自动运行检测方法及系统,将测试工具包存储到存储介质,将存储介质接入被测系统,并重启被测系统,进入efishell,自动运行startup.nsh,运行结束后,更新日志文件查看,对于检测失败项根据类型以不同颜色高亮显示,本发明应用于各种支持uefibios的服务器,尤其是现在的purley平台越来越重视uefi的测试,shell命令功能强大,节省了测试时间增加了测试的可靠性。
附图说明
图1是本发明的方法步骤流程图;
图2是本发明的系统结构框图。
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
本发明的uefishell内部命令自动运行测试方法及系统,既可以自动运行命令,同时也可以将刷新的过程和结果导入到测试log中,便于后期查看。
本发明提供uefishell内部命令自动运行检测方法,包括:
步骤101,预先定义至少一测试脚本、日志文件及检测脚本保存在测试工具包;
其中,uefishell内部命令自动运行测试工具,既可以自动运行命令,同时也可以将刷新的过程和结果导入到测试日志log中,便于后期查看。测试工具包里含有以下测试工具:startup.nsh——进入efishell后可自动运行的script,无需手动调用;log文件夹——用于存放测试过程和结果;script文件夹-内含各种命令的自动化运行脚本,script文件夹包内有各种类型命令的集成测试脚本,包括bcfg.nsh,client.nsh,device.nsh,driver.nsh,shift.nsh等测试脚本;此外,测试工具包还包括autocommand.efi,prtsc.efi,searchfile.efi组成完整的测试工具包。
步骤102,将所述测试工具包存储于存储介质,并将所述存储介质接入被测系统,并重启所述被测系统;
存储介质为硬盘或u盘等,将u盘或者硬盘等存储了测试工具包的存储介质插在sut上,并重启sut。
步骤103,进入efishell,自动运行所述检测脚本,调用启动项设置脚本设置efishell为第一启动项,依次调用所述测试脚本,并将每一次测试结果保存在日志文件中,当完成最后一个测试脚本调用执行后,再次设置efishell为第一启动项;
其中,运行startup.nsh调用测试脚本,测试脚本执行过程中,将测试数据保存在日志文件中,所述startup.nsh设定当前测试时间,调用测试脚本,所述startup.nsh为:
@echo-off
fs0:
volfs0-nshell
date03/25/2017
time12:12:00
timezone-s8:00
echo>log\loaddriver.log
script\setbootorder.nsh
script\shellreboottest.nsh0。
其中,bcfg.nsh,client.nsh,device.nsh,driver.nsh,shift.nsh等测试脚本,从script\shellreboottest.nsh测试开始,调用这一系列的命令,依次调用直到最后一个命令,无需手动更改startup.nsh脚本;
上述setbootorder.nsh不能被其他脚本替代的,其功能是首次进入shell后,将服务器上所有可启动设备的启动顺序做一下调整,将shell设为第一启动项,这样如果机器在测试过程中需要重启,可以保证重启后仍然可以进入shell,继续测试。
设置efishell为第一启动项,通过setbootordr.nsh调用1-bcfg.nsh,测试命令bcfg,执行1-bcfg.nsh,对bcfg命令进行测试,输出测试结果到log文件夹中,然后调用2-client.nsh脚本,执行2-client.nsh,对client命令进行测试,输出测试结果到log文件夹中,调用3-device.nsh脚本,依次调用直到最后一个测试命令vol,继续执行setbootorder.nsh,设置efishell为第一启动项,然后返回执行startup.nsh中调用shellreboottest.nsh的部分,执行reset测试,并记结束时间等。
步骤104,测试脚本调用结束后执行重置测试,并记录结束时间,更新所述日志文件并显示。
其中,运行结束后,更新测试工具包中的日志文件,显示并查看日志log。
其中,整个过程,只需要运行工具,最后结果只需查看日志log即可。在更新日志文件之后,查看所述日志文件,确认检测pass还是fail。其中,所述日志文件对检测fail项按照类型以不同颜色高亮显示,相同类型显示相同颜色,如此便可以清晰地区分不同类型的错误。查看日志文件之后,根据所述日志文件中的fail项信息修正错误。
本发明提供了uefishell内部命令自动运行检测方法,将测试工具包存储到存储介质,将存储介质接入被测系统,并重启被测系统,进入efishell,自动运行startup.nsh,运行结束后,更新日志文件查看,对于检测失败项根据类型以不同颜色高亮显示,本发明应用于各种支持uefibios的服务器,尤其是现在的purley平台越来越重视uefi的测试,shell命令功能强大,节省了测试时间增加了测试的可靠性。
本发明的实施方式还提供了uefishell内部命令自动运行检测系统,包括:
预定义模块201,用于预先定义至少一测试脚本、日志文件及检测脚本保存在测试工具包;
其中,uefishell内部命令自动运行测试工具,既可以自动运行命令,同时也可以将刷新的过程和结果导入到测试日志log中,便于后期查看。测试工具包里含有以下测试工具:startup.nsh——进入efishell后可自动运行的script,无需手动调用;log文件夹——用于存放测试过程和结果;script文件夹-内含各种命令的自动化运行脚本,script文件夹包内有各种类型命令的集成测试脚本,包括bcfg.nsh,client.nsh,device.nsh,driver.nsh,shift.nsh等测试脚本;此外,测试工具包还包括autocommand.efi,prtsc.efi,searchfile.efi组成完整的测试工具包。
连接模块202,用于将所述测试工具包存储于存储介质,并将所述存储介质接入被测系统,并重启所述被测系统;
存储介质为硬盘或u盘等,将u盘或者硬盘等存储了测试工具包的存储介质插在sut上,并重启sut。
运行模块203,用于进入efishell,自动运行所述检测脚本,调用启动项设置脚本设置efishell为第一启动项,依次调用所述测试脚本,并将每一次测试结果保存在日志文件中,当完成最后一个测试脚本调用执行后,再次设置efishell为第一启动项;
其中,运行startup.nsh调用测试脚本,测试脚本执行过程中,将测试数据保存在日志文件中,所述startup.nsh设定当前测试时间,调用测试脚本,所述startup.nsh为:
@echo-off
fs0:
volfs0-nshell
date03/25/2017
time12:12:00
timezone-s8:00
echo>log\loaddriver.log
script\setbootorder.nsh
script\shellreboottest.nsh0。
其中,bcfg.nsh,client.nsh,device.nsh,driver.nsh,shift.nsh等测试脚本,从script\shellreboottest.nsh测试开始,调用这一系列的命令,依次调用直到最后一个命令,无需手动更改startup.nsh脚本;
上述setbootorder.nsh不能被其他脚本替代的,其功能是首次进入shell后,将服务器上所有可启动设备的启动顺序做一下调整,将shell设为第一启动项,这样如果机器在测试过程中需要重启,可以保证重启后仍然可以进入shell,继续测试。
设置efishell为第一启动项,通过setbootordr.nsh调用1-bcfg.nsh,测试命令bcfg,执行1-bcfg.nsh,对bcfg命令进行测试,输出测试结果到log文件夹中,然后调用2-client.nsh脚本,执行2-client.nsh,对client命令进行测试,输出测试结果到log文件夹中,调用3-device.nsh脚本,依次调用直到最后一个测试命令vol,继续执行setbootorder.nsh,设置efishell为第一启动项,然后返回执行startup.nsh中调用shellreboottest.nsh的部分,执行reset测试,并记结束时间等。
结果模块204,用于测试脚本调用结束后执行重置测试,并记录结束时间,更新所述日志文件并显示。
其中,运行结束后,更新测试工具包中的日志文件,显示并查看日志log。
其中,整个过程,只需要运行工具,最后结果只需查看日志log即可。在更新日志文件之后,查看所述日志文件,确认检测pass还是fail。其中,所述日志文件对检测fail项按照类型以不同颜色高亮显示,相同类型显示相同颜色,如此便可以清晰地区分不同类型的错误。查看日志文件之后,根据所述日志文件中的fail项信息修正错误。
本发明提供了uefishell内部命令自动运行检测系统,将测试工具包存储到存储介质,将存储介质接入被测系统,并重启被测系统,进入efishell,自动运行startup.nsh,运行结束后,更新日志文件查看,对于检测失败项根据类型以不同颜色高亮显示,本发明应用于各种支持uefibios的服务器,尤其是现在的purley平台越来越重视uefi的测试,shell命令功能强大,节省了测试时间增加了测试的可靠性。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。