Postman工具在openbmc中的使用举例

一、用root账号登录并生成token

1.创建一个用例,路径是 https://IP/login,post方法
2.声明数据格式,在Header的Tab页中输入一组key/value
Content-Type/ application/json
3.为登录口令创建加密串,openbmc登录用的加密串,将生成的串存储为参数。
在pre-request-script的Tab页输入

var pw = CryptoJS.enc.Utf8.parse(“xxx”)
var base64 = CryptoJS.enc.Base64.stringify(pw)
pm.environment.set(“originPassword”, base64)

4.输入post方法的参数,使用上一步生成的originPassword参数
在Body的Tab页输入

{“username” : “root”, “password” : “{ {originPassword} }” }

5.完成测试代码,并生成root-token全局变量,这个变量可以在所有的用例中作为登录认证来使用
在Test的Tab页输入

var data = JSON.parse(responseBody);
if (data.token) {
tests[“Body has token”] = true;
pm.globals.set(“root-token”, data.token);
}
else {
tests[“Body has token”] = false;
}

二、在用例中使用root-token,以生成oper用户为例

1.创建一个用例,路径是 https://IP/redfish/v1/AccountService/Accounts,POST方法
2.在Header的Tab页除了声明数据格式Content-Type/ application/json,再输入一组key/value,X-Auth-Token:NaN
3.如果有加密数据,仍需要为加密后的串设置参数。如果post参数中没有加密串,可以跳过这一步
在pre-request-script的Tab页输入

var pw = CryptoJS.enc.Utf8.parse(“xxx”)
var base64 = CryptoJS.enc.Base64.stringify(pw)
pm.environment.set(“password”, base64)

4.输入post方法的参数,使用上一步生成的root-password参数
在Body的Tab页输入

{“UserName”:”oper”,”RoleId”:”Operator”,”Enabled”:true,”Password”:”{ {password} }”}

5.完成测试代码,确保输出信息中有成功信息
在Test的Tab页输入

tests[“create oper “] = responseBody.has(“The resource has been created successfully”);

三、以此类推

1.可以对root之外的用户生成token,不同角色的账号权限不同
2.POST\GET\PATCH\DELETE,只要是登录状态的用例,都要在Header的X-Auth-Tokentoken项输入对应的用户token

ruixia,sun wechat
生活相关,请扫描wechat帐号获取更多精彩内容。。。。。。
0%