CN109992504A - 一种服务器Redfish测试方法、系统、终端及存储介质 - Google Patents

一种服务器Redfish测试方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN109992504A
CN109992504A CN201910171139.5A CN201910171139A CN109992504A CN 109992504 A CN109992504 A CN 109992504A CN 201910171139 A CN201910171139 A CN 201910171139A CN 109992504 A CN109992504 A CN 109992504A
Authority
CN
China
Prior art keywords
redfish
function
test
encapsulated
information
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.)
Withdrawn
Application number
CN201910171139.5A
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910171139.5A priority Critical patent/CN109992504A/zh
Publication of CN109992504A publication Critical patent/CN109992504A/zh
Withdrawn legal-status Critical Current

Links

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/3684Test management for test design, e.g. generating new test cases
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种服务器Redfish测试方法、系统、终端及存储介质,包括:将Redfish的三种指令发送方式分别封装为三个指令发送函数;将Redfish对应的API封装为Chassis信息获取函数;将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。本发明能够节省大量人力成本和时间成本,提高测试的效率,保证测试的质量。

Description

一种服务器Redfish测试方法、系统、终端及存储介质
技术领域
本发明大数据服务平台技术领域,具体涉及一种服务器Redfish测试方法、系统、终端及存储介质。
背景技术
由于服务器设备需要统一的管理,当基本IPMI功能已经不太能满足大规模Scale-out环境时,Redfish的出现满足了以更便捷的方式调用服务器高级管理功能的新需求,Redfish作为下一代数据中心管理标准,已经大量应用在服务器管理方面,但目前服务器上与Redfish相关的功能的测试都是采用手工方式实现。现有测试方法如下:
原有的一条Redfish指令如下,包含API、METHOD、DATA、HEADER和相应的返回值的内容和结构:
API:https://IP/redfish/v1/SessionService/Sessions;
METHOD:POST;
DATA:{'UserName':UserName,'Password':Password};
HEADER:Content-Type→application/json;
Response:在Response的Header中抓取X-Auth-Token,接下来访问API的时候会使用。
针对该指令,测试人员测试时一般要借用第三方测试工具postman发送指令并获取返回值,首先需要将API对应的URL填入发送输入框(其中的IP需替换为待测服务器的IP地址),选择请求的方式(GET、POST或DELETE),然后填写所需的测试数据DATA和对应的头信息,然后点击发送按钮,如果命令发送成功,可以在返回值输入框看到对应的返回值信息。
以上手工测试方式不但步骤繁琐,效率低下,操作过程中易出错,而且测试过程和测试结果都无法保存。因此急需一种自动化的测试方式取代原有手工测试。
发明内容
针对现有技术步骤繁琐,效率低下,操作过程中易出错,而且测试过程和测试结果都无法保存的不足,本发明提供一种服务器Redfish测试方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种服务器Redfish测试方法,包括:
将Redfish的三种指令发送方式分别封装为三个指令发送函数,包括:将GET指令发送方式封装为GET函数;将POST指令发送方式封装为POST函数;将DELETE指令发送方式封装为DELETE函数;
将Redfish对应的API封装为Chassis信息获取函数,包括:执行Redfish信息获取命令;获取新建session时返回的X-Auth-Token;返回信息获取命令执行后的response内容;
将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本,包括:将所述测试脚本设置为开机自动执行;保存所述测试脚本测试过程中生成的测试日志;提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
第二方面,本发明提供一种服务器Redfish测试系统,包括:
发送函数单元,包括:第一函数封装模块,配置用于将GET指令发送方式封装为GET函数;第二函数封装模块,配置用于将POST指令发送方式封装为POST函数;第三函数封装模块,配置用于将DELETE指令发送方式封装为DELETE函数;
获取函数单元,包括:命令执行模块,配置用于执行Redfish信息获取命令;参数返回模块,配置用于获取新建session时返回的X-Auth-Token;应答返回模块,配置用于返回信息获取命令执行后的response内容;
脚本写入单元,包括:执行设置模块,配置用于将所述测试脚本设置为开机自动执行;日志保存模块,配置用于保存所述测试脚本测试过程中生成的测试日志;结果分析模块,配置用于提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的服务器Redfish测试方法、系统、终端及存储介质,通过将Redfish的三种指令发送方式分别封装为三个指令发送函数,将Redfish对应的API封装为Chassis信息获取函数,然后再将三个指令发送函数和Chassis信息获取函数写入测试脚本,执行测试脚本即可实现对Redfish的自动测试。本发明能够节省大量人力成本和时间成本,提高测试的效率,保证测试的质量。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种服务器Redfish测试系统。
如图1所示,该方法100包括:
步骤110,将Redfish的三种指令发送方式分别封装为三个指令发送函数;
步骤120,将Redfish对应的API封装为Chassis信息获取函数;
步骤130,将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。
可选地,作为本发明一个实施例,所述将Redfish的三种指令发送方式分别封装为三个指令发送函数包括:
将GET指令发送方式封装为GET函数;
将POST指令发送方式封装为POST函数;
将DELETE指令发送方式封装为DELETE函数。
可选地,作为本发明一个实施例,所述将Redfish对应的API封装为Chassis信息获取函数包括:
执行Redfish信息获取命令;
获取新建session时返回的X-Auth-Token;
返回信息获取命令执行后的response内容。
可选地,作为本发明一个实施例,所述将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本包括:
将所述测试脚本设置为开机自动执行;
保存所述测试脚本测试过程中生成的测试日志;
提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
为了便于对本发明的理解,下面以本发明服务器Redfish测试方法的原理,结合实施例中对服务器Redfish进行测试的过程,对本发明提供的服务器Redfish测试方法做进一步的描述。
具体的,所述服务器Redfish测试方法包括:
S1、将Redfish的三种指令发送方式分别封装为三个指令发送函数。
(1)将GET指令发送方式封装为GET函数。
*@param BMCIP String类型,BMC的IP
*@param path String类型,URL的path部分,如:
/redfish/v1/SessionService/Sessions
*@param authID String类型,创建Session时返回的authtoken信息
*@description Redfish发送GET请求公用函数
*@return result String类型,调用Redfish命令行偶返回的所有信息
*/
public static String sendGetRequest(String BMCIP,String path,StringauthID){
StringBuilder result=new StringBuilder();
BufferedReader in=null;
String url="https://"+BMCIP+path;
try{
//创建地址对象
URL u=new URL(url);
try{trustAllHttpsCertificates();}catch(Exception e){
e.printStackTrace();}
HttpsURLConnection.setDefaultHostnameVerifier(new
CustomizedHostnameVerifier());
HttpsURLConnection huconn=(HttpsURLConnection)u.openConnection();
huconn.setRequestProperty("X-Auth-Token",authID);
huconn.setRequestProperty("Content-Type","application/json");//Stringencoding=new String(Base64.encode(new String(USERNAME+":"+PASSWORD).getBytes()));
huconn.setRequestProperty("Authorization","Basic"+encoding);//连接服务器
huconn.connect();
//取得输入流,并使用Reader读取
in=new BufferedReader(new InputStreamReader(huconn.getInputStream(),"UTF-8"));
String line;
while((line=in.readLine())!=null){result.append(line);}}catch(IOException e){e.printStackTrace();}finally{try{if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();}}
return result.toString();}
(2)将POST指令发送方式封装为POST函数
*@param bmcIP String类型,BMC的IP
*@param path String类型,URL的path部分,如:/redfish/v1/SessionService/Sessions
*@param data String类型,传入的数据,如:{"blink_time":0,"force_on":1}
*@param authID String类型,创建Session时返回的authtoken信息
*@description Redfish发送POST请求公用函数
*@return result String类型,返回执行结果
*/
public static String sendPostRequest(String bmcIP,String path,Stringdata,String authID)throws Exception{
StringBuilder result=new StringBuilder();
BufferedReader in=null;
String url="https://"+bmcIP+path;
try{
//创建地址对象
URL u=new URL(url);
try{
trustAllHttpsCertificates();
}catch(Exception e){
e.printStackTrace();
}
HttpsURLConnection.setDefaultHostnameVerifier(new
CustomizedHostnameVerifier());
//获取HttpURLConnection链接对象
HttpsURLConnection huconn=(HttpsURLConnection)u.openConnection();
//绕过证书验证,验证主机名和服务器验证方案的匹配是可接受的
//huconn.setHostnameVerifier();
//发送POST请求必须设置如下两行,如果打算使用URL连接进行输出,则将DoOutput标志设置为true;如果不打算使用,则设置为false。默认值为false
huconn.setDoOutput(true);
//如果打算使用URL连接进行输入,则将DoInput标志设置为true;如果不打算使用,则设置为false。默认值为true
huconn.setDoInput(true);
//设置POST方式连接
huconn.setRequestMethod("POST");
////设置请求头配置信息
huconn.setRequestProperty("Content-Type","application/json");
String encoding=new String(Base64.encode(new String(USERNAME+":"+PASSWORD).getBytes()));
huconn.setRequestProperty("Authorization","Basic"+encoding);
if(authID!=null){
huconn.setRequestProperty("X-Auth-Token",authID);}
//连接服务器
OutputStreamWriter out=new OutputStreamWriter(huconn.getOutputStream(),"UTF-8");
//写入请求体
if(data!=null){out.write(data);}
out.flush();
out.close();
//取得输入流,并使用Reader读取,设定字符编码
in=new BufferedReader(new InputStreamReader(huconn.getInputStream(),"UTF-8"));
String line;
while((line=in.readLine())!=null){result.append(line);}}catch(IOException e){e.printStackTrace();
System.out.println(SPACE_STR+"读取过程中发生IOException");
throw e;}
//关闭输入流
finally{try{if(in!=null){in.close();}}catch(IOException ex){ex.printStackTrace();
System.out.println(SPACE_STR+"关闭输入流时catch到IOException");
throw ex;}}
return result.toString();}
(3)将DELETE指令发送方式封装为DELETE函数
*@param bmcIP String类型,BMC的IP
*@param path String类型,URL的path部分,如:
/redfish/v1/SessionService/Sessions
*@param authID String类型,创建Session时返回的authtoken信息
*@description sendPostRequest DELETE方式发送url
*@return result String类型,返回执行结果
*/
public static String sendDeleteRequest(String bmcIP,String path,String authID){
StringBuilder result=new StringBuilder();
BufferedReader in=null;
String url="https://"+bmcIP+path;
try{
//创建地址对象
URL u=new URL(url);
//信任所有证书
try{
trustAllHttpsCertificates();
}catch(Exception e){
e.printStackTrace();}
HttpsURLConnection.setDefaultHostnameVerifier(new
CustomizedHostnameVerifier());
//获取HttpURLConnection链接对象
HttpsURLConnection huconn=(HttpsURLConnection)u.openConnection();
//发送POST请求必须设置如下两行,如果打算使用URL连接进行输出,则将DoOutput标志设置为true;如果不打算使用,则设置为false。默认值为false
huconn.setDoOutput(true);
//如果打算使用URL连接进行输入,则将DoInput标志设置为true;如果不打算使用,则设置为false。默认值为true
huconn.setDoInput(true);
//设置POST方式连接
huconn.setRequestMethod("DELETE");
//设置请求头配置信息
huconn.setRequestProperty("X-Auth-Token",authID);
huconn.setRequestProperty("Content-Type","application/json");
//zxh add 20181024
String encoding=new String(Base64.encode(new String(USERNAME+":"+PASSWORD).getBytes()));
huconn.setRequestProperty("Authorization","Basic"+encoding);
//连接服务器
OutputStreamWriter out=new
OutputStreamWriter(huconn.getOutputStream(),"UTF-8");
//取得输入流,并使用Reader读取,设定字符编码
in=new BufferedReader(new InputStreamReader(huconn.getInputStream(),"UTF-8"));
String line;
while((line=in.readLine())!=null){result.append(line);}}catch(IOException e){e.printStackTrace();}
//关闭输入流
finally{
try{
if(in!=null){in.close();}}catch(IOException ex)
{ex.printStackTrace();}}
return result.toString();}
S2、将Redfish对应的API封装为Chassis信息获取函数。
*@param BMCIP String类型,待测BMC的专用IP
*@param xAuthToken String类型,新建session时返回的X-Auth-Token
*@description getChassisInfo方法,获取指定Chassis信息
*@return result String类型,返回命令执行后的response内容
*/
public static String getChassisInfo(String BMCIP,String xAuthToken){Log.printLog("开始执行Redfish命令获取指定Chassis信息。");
Log.printLog("BMCIP:"+BMCIP+",X-Auth-Token:"+xAuthToken);
String result="";
String path="/redfish/v1/Chassis/1";
try{result=
BMC.Redfish.Redfish.sendGetRequest(BMCIP,path,xAuthToken);}catch
(Exception e){
//TODO自动生成的catch块
e.printStackTrace();}
return result;}
S3、将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。
调用Redfish对应的功能函数,将测试用例转化成自动化测试脚本,实现了测试时的重复调用。将测试脚本设置为开机自动执行,即可通过重启服务器实现多次重复自动测试。保存测试脚本测试过程中生成的测试日志,提取测试日志中的返回值信息,若能够提取到返回值则判定Redfish测试通过,若无法提取到返回值则判定Redfish测试未通过,根据测试日志分析Redfish异常原因。
如图2所示,该系统200包括:
发送函数单元210,所述发送函数单元210用于将Redfish的三种指令发送方式分别封装为三个指令发送函数;
获取函数单元220,所述获取函数单元220用于将Redfish对应的API封装为Chassis信息获取函数;
脚本写入单元230,所述脚本写入单元230用于将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。
可选地,作为本发明一个实施例,所述发送函数单元包括:
第一函数封装模块,配置用于将GET指令发送方式封装为GET函数;
第二函数封装模块,配置用于将POST指令发送方式封装为POST函数;
第三函数封装模块,配置用于将DELETE指令发送方式封装为DELETE函数。
可选地,作为本发明一个实施例,所述获取函数单元包括:
命令执行模块,配置用于执行Redfish信息获取命令;
参数返回模块,配置用于获取新建session时返回的X-Auth-Token;
应答返回模块,配置用于返回信息获取命令执行后的response内容。
可选地,作为本发明一个实施例,所述脚本写入单元包括:
执行设置模块,配置用于将所述测试脚本设置为开机自动执行;
日志保存模块,配置用于保存所述测试脚本测试过程中生成的测试日志;
结果分析模块,配置用于提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的服务器Redfish测试方法。
其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过将Redfish的三种指令发送方式分别封装为三个指令发送函数,将Redfish对应的API封装为Chassis信息获取函数,然后再将三个指令发送函数和Chassis信息获取函数写入测试脚本,执行测试脚本即可实现对Redfish的自动测试。本发明能够节省大量人力成本和时间成本,提高测试的效率,保证测试的质量,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种服务器Redfish测试方法,其特征在于,包括:
将Redfish的三种指令发送方式分别封装为三个指令发送函数;
将Redfish对应的API封装为Chassis信息获取函数;
将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。
2.根据权利要求1所述的服务器Redfish测试方法,其特征在于,所述将Redfish的三种指令发送方式分别封装为三个指令发送函数包括:
将GET指令发送方式封装为GET函数;
将POST指令发送方式封装为POST函数;
将DELETE指令发送方式封装为DELETE函数。
3.根据权利要求1所述的服务器Redfish测试方法,其特征在于,所述将Redfish对应的API封装为Chassis信息获取函数包括:
执行Redfish信息获取命令;
获取新建session时返回的X-Auth-Token;
返回信息获取命令执行后的response内容。
4.根据权利要求1所述的服务器Redfish测试方法,其特征在于,所述将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本包括:
将所述测试脚本设置为开机自动执行;
保存所述测试脚本测试过程中生成的测试日志;
提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
5.一种服务器Redfish测试系统,其特征在于,包括:
发送函数单元,配置用于将Redfish的三种指令发送方式分别封装为三个指令发送函数;
获取函数单元,配置用于将Redfish对应的API封装为Chassis信息获取函数;
脚本写入单元,配置用于将三个指令发送函数和Chassis信息获取函数写入测试脚本并执行所述测试脚本。
6.根据权利要求5所述的服务器Redfish测试系统,其特征在于,所述发送函数单元包括:
第一函数封装模块,配置用于将GET指令发送方式封装为GET函数;
第二函数封装模块,配置用于将POST指令发送方式封装为POST函数;
第三函数封装模块,配置用于将DELETE指令发送方式封装为DELETE函数。
7.根据权利要求5所述的服务器Redfish测试系统,其特征在于,所述获取函数单元包括:
命令执行模块,配置用于执行Redfish信息获取命令;
参数返回模块,配置用于获取新建session时返回的X-Auth-Token;
应答返回模块,配置用于返回信息获取命令执行后的response内容。
8.根据权利要求5所述的服务器Redfish测试系统,其特征在于,所述脚本写入单元包括:
执行设置模块,配置用于将所述测试脚本设置为开机自动执行;
日志保存模块,配置用于保存所述测试脚本测试过程中生成的测试日志;
结果分析模块,配置用于提取测试日志中的返回值信息并根据所述返回值信息评定Redfish测试结果。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN201910171139.5A 2019-03-07 2019-03-07 一种服务器Redfish测试方法、系统、终端及存储介质 Withdrawn CN109992504A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910171139.5A CN109992504A (zh) 2019-03-07 2019-03-07 一种服务器Redfish测试方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910171139.5A CN109992504A (zh) 2019-03-07 2019-03-07 一种服务器Redfish测试方法、系统、终端及存储介质

Publications (1)

Publication Number Publication Date
CN109992504A true CN109992504A (zh) 2019-07-09

Family

ID=67129526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910171139.5A Withdrawn CN109992504A (zh) 2019-03-07 2019-03-07 一种服务器Redfish测试方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN109992504A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045884A (zh) * 2019-11-21 2020-04-21 苏州浪潮智能科技有限公司 一种服务器bmc最大用户数的测试方法、系统及设备
CN112463590A (zh) * 2020-11-09 2021-03-09 苏州浪潮智能科技有限公司 一种互动式Redfish的测试方法、装置以及电子设备
CN114816876A (zh) * 2022-04-25 2022-07-29 宝德计算机系统股份有限公司 一种服务器Redfish接口规范的自动化测试系统
CN116723170A (zh) * 2023-08-08 2023-09-08 成都初心互动科技有限公司 移动端设备唯一标识生成方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108829594A (zh) * 2018-06-07 2018-11-16 郑州云海信息技术有限公司 一种Linux下自动化测试BMC web资产信息功能的方法及系统
CN109408357A (zh) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 一种接口自动化测试方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408357A (zh) * 2017-12-04 2019-03-01 深圳市珍爱网信息技术有限公司 一种接口自动化测试方法及装置
CN108829594A (zh) * 2018-06-07 2018-11-16 郑州云海信息技术有限公司 一种Linux下自动化测试BMC web资产信息功能的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佚名: "Java模拟httpGet请求并获取返回的数据", 《HTTPS://BLOG.CSDN.NET/XIAOCHA1994/ARTICLE/DETAILS/78426447》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045884A (zh) * 2019-11-21 2020-04-21 苏州浪潮智能科技有限公司 一种服务器bmc最大用户数的测试方法、系统及设备
CN112463590A (zh) * 2020-11-09 2021-03-09 苏州浪潮智能科技有限公司 一种互动式Redfish的测试方法、装置以及电子设备
CN114816876A (zh) * 2022-04-25 2022-07-29 宝德计算机系统股份有限公司 一种服务器Redfish接口规范的自动化测试系统
CN114816876B (zh) * 2022-04-25 2024-06-21 宝德计算机系统股份有限公司 一种服务器Redfish接口规范的自动化测试系统
CN116723170A (zh) * 2023-08-08 2023-09-08 成都初心互动科技有限公司 移动端设备唯一标识生成方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109992504A (zh) 一种服务器Redfish测试方法、系统、终端及存储介质
CN102421112B (zh) 移动终端的测试方法、移动终端模拟器、测试设备及系统
CN109445865A (zh) 一种bios选项远程批量设置方法、装置、终端及存储介质
CN109510742A (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
CN108009087A (zh) 数据库测试方法、装置及计算机可读存储介质
CN109800029A (zh) 批量设定服务器bios参数的方法、装置、终端及存储介质
CN108512666A (zh) Api请求的加密方法、数据交互方法及系统
CN103178996A (zh) 分布式包交换芯片模型验证系统及验证方法
CN109639719A (zh) 一种基于临时标识符的身份验证方法和装置
CN108183838B (zh) 一种源nat功能测试的方法及装置
CN106559289A (zh) Sslvpn网关的并发测试方法及装置
CN109815721A (zh) 一种通过BMC修改BIOS Setup选项密码的方法、装置、终端及存储介质
CN108154020A (zh) 一种验证码输入和显示方法及设备
CN109408390A (zh) 一种bmc登录用户稳定性测试方法、装置、终端及存储介质
CN109783357A (zh) 测试应用程序的方法及装置、计算机设备、存储介质
CN110032855A (zh) 应用的登录方法、装置、计算机设备和存储介质
CN109684166A (zh) 自动测试Sensor日志规范性的方法、装置、终端及存储介质
CN109788052A (zh) 一种服务器配置远程查询方法、装置、终端及存储介质
CN113127108A (zh) 业务请求的处理方法及装置、存储介质以及电子设备
CN110399727A (zh) 一种bmc权限自动测试方法、系统、终端及存储介质
CN109918254A (zh) 一种AEP内存Error Detection功能测试方法、系统、终端及存储介质
CN107977565A (zh) Usbkey接口系统及与usbkey连接的方法
CN107526580A (zh) 终端应用识别方法及装置
CN109067605A (zh) 一种存储子系统故障诊断方法、装置、终端及存储介质
CN109032874A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190709