(三)PostMan设置Token(从响应数据或响应头)

        在上一节说到使用postman获取redfish信息时,需要先创建会话,然后使用返回的token才能后续获取数据,这个过程我们是通过手动拷贝的,那能否自动填写呢?当然可以,分为两种情况。

token在响应头

        打开postman,在创建会话url的Tests中填写如下:

var loginToken = postman.getResponseHeader("X-Auth-Token");
pm.globals.set("zhengji_token", loginToken);

(三)PostMan设置Token(从响应数据或响应头)_第1张图片

         点击发送,创建会话成功后,将自动捕获响应头中X-Auth-Token变量对应值设置给全局变量zhengji_token,这样其他Url就可以使用。

(三)PostMan设置Token(从响应数据或响应头)_第2张图片

         使用很简单,在其他url的发送头中添加X-Auth-Token变量,设置其值为{{zhengji_token}}即可。

token在响应数据(body)

         在使用创建会话url创建一个会话,查看其返回数据格式,比如下图:

(三)PostMan设置Token(从响应数据或响应头)_第3张图片

         同样在创建会话url的Tests中填入以下:

	pm.test("Status code is 200", function () {
	    pm.response.to.have.status(200);
	});
	 
	// 把responseBody转为json字符串
	var data = JSON.parse(responseBody);
	// 设置环境变量token,供后面的接口引用,位置就是上一步获取的位置
	pm.environment.set("token", data.data.token);
//也可以设置全局变量pm.globals.set("token", data.data.token);

        与第一种方式有区别的是,上面代码捕获返回数据中的token变量,并将其值设置给环境变量token,这样其他url也可使用,当然设置为全局变量也可。

        点击Send按钮发送请求后,就Postman会自动在环境变量中设置一个变量,变量名为token,值为responseBody中token值。设置成功后,点击那个眼睛图标,查看变量如图所示:

(三)PostMan设置Token(从响应数据或响应头)_第4张图片

        访问其他接口时token值直接读取变量即可。Postman里面获取变量的语法为:{{变量名}}

(三)PostMan设置Token(从响应数据或响应头)_第5张图片

你可能感兴趣的:(redfish,postman,测试工具,前端,bmc,redfish)