CN112463590A - 一种互动式Redfish的测试方法、装置以及电子设备 - Google Patents

一种互动式Redfish的测试方法、装置以及电子设备 Download PDF

Info

Publication number
CN112463590A
CN112463590A CN202011242501.2A CN202011242501A CN112463590A CN 112463590 A CN112463590 A CN 112463590A CN 202011242501 A CN202011242501 A CN 202011242501A CN 112463590 A CN112463590 A CN 112463590A
Authority
CN
China
Prior art keywords
command
resource
allowed
layer
user
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.)
Granted
Application number
CN202011242501.2A
Other languages
English (en)
Other versions
CN112463590B (zh
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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011242501.2A priority Critical patent/CN112463590B/zh
Publication of CN112463590A publication Critical patent/CN112463590A/zh
Application granted granted Critical
Publication of CN112463590B publication Critical patent/CN112463590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4401Bootstrapping

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)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种互动式Redfish的测试方法、装置以及电子设备,属于Redfish测试的技术领域。包括初始化服务器的核心基础部件;其中,所述核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;在初始化完成之后,接收使用者输入的第一命令;基于所述第一命令和测试脚本;在所述母资源页面上接收使用者输入的第二命令,并基于所述第二命令对所述第一层资源模块执行测试,得到测试结果;其中,一个所述第二命令表示一种HTTP允许方法。本发明可以避免输入错误的curl命令或于postman图形界面较复杂的人工资料输入时间,且可快速取得HTTP可允许方法,并执行所有测试,此脚本不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。

Description

一种互动式Redfish的测试方法、装置以及电子设备
技术领域
本发明涉及Redfish测试技术领域,尤其是涉及一种互动式Redfish的测试方法、装置以及电子设备。
背景技术
目前服务器行业新的发展趋势促使服务器密度越来越高,功能越来越强大及齐全,IPMI已渐渐不敷使用,不管是安全性、可扩充性及弹性都远不如Redfish。DMTF即提出Redfish结合了HTTP,Restful,JSON,ODATA,可运用于各种场景,并且具有安全性、可扩充性及弹性,用户于长期使用HTTP及Restful相关技术可于最快时间上手,相关的使用工具在市面上更是不胜枚举。而这时反而是测试人员需要快速上手并了解Redfish各种应用及内容,才能执行相关测试,透过此脚本可快速让测试人员快速取得测试机台上的Redfish资源模块、HTTP允许方法以及收集所有odata.id分支内容,此脚本可帮助测试人员快速上手测试Redfish而不须了解HTTP及JSON的复杂语法,并且HTTP及JSON的误码率极高,可免除测试人员除错时间。
现有技术的技术方案如下:
1、利用curl与redfish建立连线并于/redfish/v1根目录抓取其JSON讯息及获得子资源及其HTTP允许方法,并于子资源再抓取相关孙资源以此类推,利用手动输入或脚本一个一个抓取资料,再手动輸入HTTP可允许的测试内容,耗时耗人力。
2、利用POSTMAN与redfish建立连线并于/redfish/v1根目录抓取其JSON讯息及获得子资源及其HTTP允许方法,并于子资源再抓取相关孙资源以此类推,利用手动输入或脚本一个一个抓取资料并手动輸入HTTP可允许的测试内容,耗时耗人力。
现有技术的缺点如下:
Redfish所有的资源模块高达上千个Odata.id,curl命令不仅冗长,postman图形接口也需要人为输入数据才可得到测试结果,此方式耗时且误码率高,所有Odata.id的内容杂乱难以透过人工判别及分类分支处理。
发明内容
本发明的目的在于提供一种互动式Redfish的测试方法、装置以及电子设备,由于服务器管理接口IPMI的逐渐弱势,而Redfish在各方面的优势已让它强势地取代了IPMI,但Redfish许多测试仍有部分测试人员的不熟悉,可透过此脚本让测试人员能快速取得完整Redfish树状图包含那些分支,各个odata.id的HTTP允许方法,以及快速收集所有odata.id内容,并且针对各个odata.id允许方法测试,并且也可以大量节省Redfish测试时间。
第一方面,本发明提供的一种互动式Redfish的测试方法,包括:
初始化服务器的核心基础部件;其中,所述核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
在初始化完成之后,接收使用者输入的第一命令;其中,所述第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
基于所述第一命令和测试脚本,获取所述核心基础部件的资源属性配置文件,并基于所述资源属性配置文件将所述第一层资源模块下的第二层资源模块存入母资源页面;
在所述母资源页面上接收使用者输入的第二命令,并基于所述第二命令对所述第一层资源模块执行测试,得到测试结果;其中,一个所述第二命令表示一种HTTP允许方法。
进一步的,方法还包括:
在所述母资源页面上接收使用者输入的第三命令,并基于所述第三命令打印所述第一层资源模块的JSON内容信息;
在打印完成之后,自动返回到所述母资源页面。
进一步的,在接收使用者输入的第二命令之前,方法还包括:
通过所述测试脚本获取所述第一层资源模块的JSON内容信息,并查看所述第一层资源模块的所有HTTP允许方法。
进一步的,方法还包括:
在所述母资源页面上接收使用者输入的第四命令,基于所述第四命令进入与所述第二层资源模块对应的第一子页面。
进一步的,在基于所述第四命令进入与所述第二层资源模块对应的第一子页面之后,方法还包括:
在所述第一子页面上接收使用者输入的第五命令,基于所述第五命令执行对应的操作;其中,所述操作包括以下至少之一:对所述第二层资源模块执行测试、打印所述第二层资源模块的JSON内容信息,进入第三层资源模块对应的第二子资源页面,所述第三层资源模块为所述第二层资源模块下的下一级资源模块。
进一步的,所述HTTP允许方法包括以下至少之一:GET允许方法、HEAD允许方法、POST允许方法、PUT允许方法、DELETE允许方法、CONNECT允许方法、OPTIONS允许方法、TRACE允许方法、PATCH允许方法;其中,所述GET允许方法通过表格的方式显示所有的使用者信息。
进一步的,所述测试脚本为Python3脚本。
第二方面,本发明还提供一种互动式Redfish的测试装置,包括:
初始化单元,用于初始化服务器的核心基础部件;其中,所述核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
接收单元,用于在初始化完成之后,接收使用者输入的第一命令;其中,所述第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
获取单元,用于基于所述第一命令和测试脚本,获取所述核心基础部件的资源属性配置文件,并基于所述资源属性配置文件将所述第一层资源模块下的第二层资源模块存入母资源页面;
接收测试单元,用于在所述母资源页面上接收使用者输入的第二命令,并基于所述第二命令对所述第一层资源模块执行测试,其中,一个所述第二命令表示一种HTTP允许方法。
第三方面,本发明还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现互动式Redfish测试方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现互动式Redfish测试方法的步骤。
本发明提供的一种互动式Redfish的测试方法、装置以及电子设备,可测试BMC及Redfish稳定性及可用性,在BIOS及BMC初始化完成后,由于Redfish所有的资源模块可能高达上千个Odata.id,首先利用该专利python3脚本对系统及BMC进行撷取资源属性root后则可得知下属资源模块,例如Systems,Chassis,Managers,EventService,Sessions,TaskService以及当前odata.id HTTP的可允许方法包含GET,PATCH,PUT,POST,DELETE;由于测试人员不清楚各种允许方法的适合时机,此脚本已写入各个odata.id可适合的测试内容与允许方法皆已写入,测试人员无须了解其相对关系即可进行测试,并于此同时可帮助测试人员直接取得当前odata.id的JSON内容,从而可以避免输入错误的curl命令或于postman图形界面较复杂的人工资料输入时间,由于各种HTTP允许方法语法不仅冗长也容易输入错误,并且测试人员需要了解Redfish的规则才知道如何输入,而此脚本可自动撷取系统中的所有odata.id,且可快速取得HTTP可允许方法,并执行所有测试,此脚本不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
本发明透过python脚本,可快速收集该odata.id的JSON内容,并透过读取HTTPheader命令取得该odata.id的HTTP可允许方法,而每个odata.id允许方法需要输入的内容都不尽相同,且误码率极高,这些测试内容皆写入python脚本,测试人员不需经过繁琐的命令输入,并且也可快速得知测试后的内容及结果。
相应地,本发明实施例提供的一种电子设备及计算机可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的互动式Redfish的测试方法的流程图;
图2为本发明实施例提供的測試內容算法程序图;
图3为本发明实施例提供的电子设备原理图;
图中:800电子设备、801存储器、802处理器、803总线、804通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅附图1-3,本发明实施例提供的一种互动式Redfish的测试方法,包括:
初始化服务器的核心基础部件;其中,核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
在初始化完成之后,接收使用者输入的第一命令;其中,第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
基于第一命令和测试脚本,获取核心基础部件的资源属性配置文件,并基于资源属性配置文件将第一层资源模块下的第二层资源模块存入母资源页面;
在母资源页面上接收使用者输入的第二命令,并基于第二命令对第一层资源模块执行测试,得到测试结果;其中,一个第二命令表示一种HTTP允许方法。
本发明可测试BMC及Redfish稳定性及可用性,在BIOS及BMC初始化完成后,由于Redfish所有的资源模块可能高达上千个Odata.id,首先利用该专利python3脚本对系统及BMC进行撷取资源属性root后则可得知下属资源模块,例如Systems,Chassis,Managers,EventService,Sessions,TaskService以及当前odata.id HTTP的可允许方法包含GET,PATCH,PUT,POST,DELETE;由于测试人员不清楚各种允许方法的适合时机,此脚本已写入各个odata.id可适合的测试内容与允许方法皆已写入,测试人员无须了解其相对关系即可进行测试,并于此同时可帮助测试人员直接取得当前odata.id的JSON内容,从而可以避免输入错误的curl命令或于postman图形界面较复杂的人工资料输入时间,由于各种HTTP允许方法语法不仅冗长也容易输入错误,并且测试人员需要了解Redfish的规则才知道如何输入,而此脚本可自动撷取系统中的所有odata.id,且可快速取得HTTP可允许方法,并执行所有测试,此脚本不但提高了Redfish测试效率,节省人力物力,更可保证产品质量。
本发明实施例中,方法还包括:
在母资源页面上接收使用者输入的第三命令,并基于第三命令打印第一层资源模块的JSON内容信息;
在打印完成之后,自动返回到母资源页面。
本发明实施例中,在接收使用者输入的第二命令之前,方法还包括:
通过测试脚本获取第一层资源模块的JSON内容信息,并查看第一层资源模块的所有HTTP允许方法。
本发明实施例中,方法还包括:
在母资源页面上接收使用者输入的第四命令,基于第四命令进入与第二层资源模块对应的第一子页面。
本发明实施例中,在基于第四命令进入与第二层资源模块对应的第一子页面之后,方法还包括:
在第一子页面上接收使用者输入的第五命令,基于第五命令执行对应的操作;其中,操作包括以下至少之一:对第二层资源模块执行测试、打印第二层资源模块的JSON内容信息,进入第三层资源模块对应的第二子资源页面,第三层资源模块为第二层资源模块下的下一级资源模块。
本发明实施例中,HTTP允许方法包括以下至少之一:GET允许方法、HEAD允许方法、POST允许方法、PUT允许方法、DELETE允许方法、CONNECT允许方法、OPTIONS允许方法、TRACE允许方法、PATCH允许方法;其中,GET允许方法通过表格的方式显示所有的使用者信息。
本发明实施例中,测试脚本为Python3脚本。
本发明实施例还提供的一种互动式Redfish的测试装置,包括:
初始化单元,用于初始化服务器的核心基础部件;其中,核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
接收单元,用于在初始化完成之后,接收使用者输入的第一命令;其中,第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
获取单元,用于基于第一命令和测试脚本,获取核心基础部件的资源属性配置文件,并基于资源属性配置文件将第一层资源模块下的第二层资源模块存入母资源页面;
接收测试单元,用于在母资源页面上接收使用者输入的第二命令,并基于第二命令对第一层资源模块执行测试,其中,一个第二命令表示一种HTTP允许方法。
本发明实施例还提供的一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现互动式Redfish测试方法的步骤。
本发明实施例还提供的一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现互动式Redfish测试方法的步骤。
本发明利用此脚本可透过使用者互动试选择后获取系统所有的odata.id JSON内容,利用此脚本可测试Redfish HTTP GET允许方法及其他POST、PATCH、DELETE方法,由于脚本自动填入语法,可减少除错HTTP及JSON语法,并且免去输入程式时间,此脚本已将许多常用的硬体资讯,FRU,SEL…等都透过python3 prettytable的功能,整理出完整表格。
本发明利用python3撰写脚本检测方法,包括以下步骤:
S1、首先与确定测试机台BMC及BIOS皆初始化完成;
S2、若使用者直接执行脚本不带其他命令,脚本会经由python argparse提示应如何输入命令,应为python3 Interactive_redfish.py–ip BMC_IP–u BMC帐号名称–P帐号密码(-o/redfish/v1/Systems,若不带–o则预设输入为/redfish/v1);
S3、假设不输入–o参数时则脚本即会开始扫描并抓取/redfish/v1资源模块下是否包含@odata.id字符串;
S4、若抓取的资源属性仍不是终点字符串类型,若资源属性仍是字典或清单则再进入第一判断单元;
S5、若经由上述第一判断单元透过python3内建type检测是否为字符串;
S6、第二判断单元检测此odata.id是否存在于结果清单;若不包含在结果清单则存入结果清单,包含则舍弃该odata.id;
S7、透过python3 json.dump功能取得該odata.id JSON內容及python3取得HTTPheader并查看Allow里包含的HTTP允许方法;
S8、列印出当前odata.id所有子资源odata.id结果清单以及可執行的HTTP允許方法測試內容如图2所示;
S9、等待使用者互动输入指定要取得当前odata.id JSON内容或执行HTTP允许方法测试亦或是进入的odata.id子资源;
S10、若使用者选择其中一个HTTP允许方法测试内容,例如在/redfish/v1/AccountService/Accounts/可显示HTTP允许方法测试内容,包含“Display current userlist table”为HTTP GET允许方法,并透过python3 table建立表格让测试人员可一目了然获取目前的使用者列表,不需透过至少三、四个繁琐的命令取得完整列表;“Add new user”为HTTP POST允许方法;由”Change account username”与”Change account password”皆为HTTP PATCH允许方法;”Delete account”则为DELETE允许方法;
S11、以/redfish/v1/AccountService上图各个选择测试范例如下,
当选择为0则跳回输入初始命令时的odata.id位置,以供测试者快速跳回初始页,再执行其他测试需求;
选择为1时则跳到S13;
选择2会显示透过脚本自动填入,原本至少需要输入三、四个以上的命令才可取得的资讯表格,脚本透过python3 table取得JSON内容,并将需要的栏位撷取至表格;
选择3时则是Add new user,可帮助使用者快速测试新增使用者功能,新增后则可透过选项2再进行核对;
选择4则可更改使用者名称,帮助测试人员可测试更改使用者名称功能;
选择5时则可测试更改使用者密码,可快速帮助测试人员测试更改密码功能;
选择6则可测试删除使用者功能;
S12、执行完上述的HTTP允许方法皆会返回该odata.id页面以供使用者继续执行测试脚本;
S13、若于页面选择”Get current URI info”则是列印出当前odata.id的JSON内容;
S14、列印完JSON内容后,仍会回到该odata.id页面供使用者继续执行测试脚本;
S15、若于该odata.id页面选择该odata.id子资源,则将继续寻找该odata.id孙资源及子资源HTTP允许方法测试内容;
S16、选择该子资源后会经过第五判断单元,若HTTP返回码不是返回200,则判断该子资源不存在正确内容,脚本会返回错误及HTTP返回码,并返回母资源页面,若正确则继续寻找该odata.id孙资源及子资源HTTP允法方法的测试内容。
本发明实施例一:
在执行Redfish测试时,可在透过此脚本完成大部分测试,此脚本可以取得全部odata.id的JSON内容,该odata.id包含HTTP GET允许方法可以执行相关测试,并且下方测试只是其中的部分例子。
POST:如于redfish store default,即可发现有POST的允许方法,由于可透过此odata.id恢复Redfish原厂设定。
PATCH:如于LED control,即可发现有PATCH的HTTP允许方法,由于可透过此odata.id更新于变动的LED行为。
DELETE:如于account manager,即可发现有DELETE的HTTP允许方法,于此可删除此Redfish使用者,以达到管理效果。
本发明实施例二:
执行此脚本的同时,由于Redfish有许多相关的内容需要透过手工整理才能了解其相关关系,例如CPU,内存,硬盘,网卡等硬体资讯以及FRU资讯,此发明透过python3prettytable的功能帮助使用者整理出完整表格,让测试人员可快速并且一目了然取得相关资讯。
本发明实施例提供的一种电子设备,如图3所示,电子设备800包括存储器801、处理器802,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的方法的步骤。
如图3所示,电子设备还包括:总线803和通信接口804,处理器802、通信接口804和存储器801通过总线803连接;处理器802用于执行存储器801中存储的可执行模块,例如计算机程序。
其中,存储器801可能包含高速随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口804(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线803可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器801用于存储程序,处理器802在接收到执行指令后,执行程序,前述本发明任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器802中,或者由处理器802实现。
处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成上述方法的步骤。
对应于上述方法,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有机器可运行指令,计算机可运行指令在被处理器调用和运行时,计算机可运行指令促使处理器运行上述方法的步骤。
本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
又例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种互动式Redfish的测试方法,其特征在于,包括:
初始化服务器的核心基础部件;其中,所述核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
在初始化完成之后,接收使用者输入的第一命令;其中,所述第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
基于所述第一命令和测试脚本,获取所述核心基础部件的资源属性配置文件,并基于所述资源属性配置文件将所述第一层资源模块下的第二层资源模块存入母资源页面;
在所述母资源页面上接收使用者输入的第二命令,并基于所述第二命令对所述第一层资源模块执行测试,得到测试结果;其中,一个所述第二命令表示一种HTTP允许方法。
2.根据权利要求1所述的方法,其特征在于,方法还包括:
在所述母资源页面上接收使用者输入的第三命令,并基于所述第三命令打印所述第一层资源模块的JSON内容信息;
在打印完成之后,自动返回到所述母资源页面。
3.根据权利要求2所述的方法,其特征在于,在接收使用者输入的第二命令之前,方法还包括:
通过所述测试脚本获取所述第一层资源模块的JSON内容信息,并查看所述第一层资源模块的所有HTTP允许方法。
4.根据权利要求1所述的方法,其特征在于,方法还包括:
在所述母资源页面上接收使用者输入的第四命令,基于所述第四命令进入与所述第二层资源模块对应的第一子页面。
5.根据权利要求4所述的方法,其特征在于,在基于所述第四命令进入与所述第二层资源模块对应的第一子页面之后,方法还包括:
在所述第一子页面上接收使用者输入的第五命令,基于所述第五命令执行对应的操作;其中,所述操作包括以下至少之一:对所述第二层资源模块执行测试、打印所述第二层资源模块的JSON内容信息,进入第三层资源模块对应的第二子资源页面,所述第三层资源模块为所述第二层资源模块下的下一级资源模块。
6.根据权利要求1所述的方法,其特征在于,所述HTTP允许方法包括以下至少之一:GET允许方法、HEAD允许方法、POST允许方法、PUT允许方法、DELETE允许方法、CONNECT允许方法、OPTIONS允许方法、TRACE允许方法、PATCH允许方法;其中,所述GET允许方法通过表格的方式显示所有的使用者信息。
7.根据权利要求1所述的方法,其特征在于,所述测试脚本为Python3脚本。
8.一种互动式Redfish的测试装置,其特征在于,包括:
初始化单元,用于初始化服务器的核心基础部件;其中,所述核心基础部件包括基板管理控制器BMC和基本输入输出系统BIOS;
接收单元,用于在初始化完成之后,接收使用者输入的第一命令;其中,所述第一命令包括:BMC的账号、账号密码和第一层资源模块的名称;
获取单元,用于基于所述第一命令和测试脚本,获取所述核心基础部件的资源属性配置文件,并基于所述资源属性配置文件将所述第一层资源模块下的第二层资源模块存入母资源页面;
接收测试单元,用于在所述母资源页面上接收使用者输入的第二命令,并基于所述第二命令对所述第一层资源模块执行测试,其中,一个所述第二命令表示一种HTTP允许方法。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的方法的步骤。
CN202011242501.2A 2020-11-09 2020-11-09 一种互动式Redfish的测试方法、装置以及电子设备 Active CN112463590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011242501.2A CN112463590B (zh) 2020-11-09 2020-11-09 一种互动式Redfish的测试方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011242501.2A CN112463590B (zh) 2020-11-09 2020-11-09 一种互动式Redfish的测试方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN112463590A true CN112463590A (zh) 2021-03-09
CN112463590B CN112463590B (zh) 2022-08-19

Family

ID=74826375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011242501.2A Active CN112463590B (zh) 2020-11-09 2020-11-09 一种互动式Redfish的测试方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN112463590B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448632A (zh) * 2021-05-27 2021-09-28 山东英信计算机技术有限公司 一种Redfish资源信息调取方法、装置、设备及存储介质
CN113672233A (zh) * 2021-07-16 2021-11-19 济南浪潮数据技术有限公司 一种基于Redfish的服务器带外管理方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992504A (zh) * 2019-03-07 2019-07-09 苏州浪潮智能科技有限公司 一种服务器Redfish测试方法、系统、终端及存储介质
CN111130891A (zh) * 2019-12-26 2020-05-08 北京浪潮数据技术有限公司 一种服务器管理装置、方法及电子设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992504A (zh) * 2019-03-07 2019-07-09 苏州浪潮智能科技有限公司 一种服务器Redfish测试方法、系统、终端及存储介质
CN111130891A (zh) * 2019-12-26 2020-05-08 北京浪潮数据技术有限公司 一种服务器管理装置、方法及电子设备和存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448632A (zh) * 2021-05-27 2021-09-28 山东英信计算机技术有限公司 一种Redfish资源信息调取方法、装置、设备及存储介质
CN113672233A (zh) * 2021-07-16 2021-11-19 济南浪潮数据技术有限公司 一种基于Redfish的服务器带外管理方法、装置及设备
CN113672233B (zh) * 2021-07-16 2023-12-22 济南浪潮数据技术有限公司 一种基于Redfish的服务器带外管理方法、装置及设备

Also Published As

Publication number Publication date
CN112463590B (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN109871326B (zh) 一种脚本录制的方法和装置
CN112463590B (zh) 一种互动式Redfish的测试方法、装置以及电子设备
CN105335404B (zh) 页面信息加载方法和装置
US20140344907A1 (en) Auto login method and device
WO2018184361A1 (zh) 应用程序测试方法、服务器、终端和存储介质
CN109815119B (zh) 一种app链接渠道的测试方法及装置
JP6514244B2 (ja) 差異検出装置及びプログラム
CN110704304A (zh) 一种应用程序测试方法、装置、存储介质和服务器
CN107066377B (zh) 基于Android系统的页面元素获取方法及终端设备
US9817909B1 (en) Accessing information from a firmware using two-dimensional barcodes
CN107783786B (zh) 一种创建设备资源的方法和装置
CN110532056B (zh) 一种应用于用户界面中的控件识别方法及装置
CN111104393A (zh) 数据迁移方法、装置、电子设备以及存储介质
CN109271315B (zh) 脚本代码检测方法、装置、计算机设备及存储介质
CN113377667A (zh) 一种基于场景的测试方法、装置、计算机设备及存储介质
CN112671878B (zh) 一种区块链的信息订阅方法、装置、服务器和存储介质
CN109614308A (zh) 基于爬虫日志的测试数据生成方法、装置和计算机设备
CN109388420A (zh) 应用升级测试方法、装置、计算机设备及存储介质
CN111737114A (zh) 一种登录功能测试方法和装置
CN112365192A (zh) 制造执行系统中流程模型的建立方法、电子设备以及流程模型的解析方法
CN111078529A (zh) 客户端写入模块测试方法、装置、电子设备
CN108668160B (zh) 节奏弹幕展示方法、装置及电子设备
CN115934503A (zh) 程序测试方法、装置、设备及存储介质
US8302045B2 (en) Electronic device and method for inspecting electrical rules of circuit boards
CN105306928A (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
GR01 Patent grant
GR01 Patent grant