在数字网络世界,“身份信息”就像我们的身份证一样,有身份证信息,我们才可以去办理个人社保、公积金、银行卡之类的信息,同样的我们要获取这些数据,都必须使用我们的身份证进行验证,否则对应的系统服务器无法识别,是否用户本人?应该给获取什么数据给对应的用户?
同样的在接口的世界里面,不同的客户端向服务器请求信息时,也需要指定的“身份信息”来告知服务器该请求是哪个客户端发起的 。服务器根据接口对应的“身份信息cookie”来识别发起请求的是谁,应该给其什么数据,且该数据是别人无法获取的。
基础概念
在cookie管理器之前需要了解以下两个概念:
Cookie
Cookie是远程服务端返回的识别用户身份信息,该信息存储在客户端,客户端每次进行操作时,会通过HTTP协议和服务器端进行Cookie的交互,验证身份信息正确才可交互成功(大多数需要登录后操作的接口上面会比较常见)。
Set-Cookie
设置HTTP Cookie,用来存储一些用户信息以便让服务器辨别用户身份的,一般是服务端返回的用户身份信息(大多数需要登录的接口上面会比较常见)。
Cookie和set-cookie之间的调用关系如下图:
获取身份信息
用户登录成功后,服务器会通过登录请求的响应信息头(Response Headers)返回对应的“身份信息”,该信息存储在set-cookie中。
身份信息
我们可根据开发提供的接口文档找到身份信息指定的字段是哪一个,本文示例以XXX系统为例。
Response-headers下的set-cookie的第一个字段就是我们需要的“身份信息”:
Set-Cookie: ***_TOKEN=A73D75CE267E489EB61547BA1C5E89B0 |
具体如下图:
提取身份信息
添加Regular Expression Extractor,通过正则表达式的方式从response headers中提取“身份信息” ,如下图:
1.选择要检察的响应信息字段:此处选择Response Headers;
2.定义变量:下一个请求要引用的参数名称,用于存储正则表达式获取的结果;
3.正则表达式:其中()括起来的部分就是要提取的字符串(关于正则表达式的规则,可自行学习)。
使用cookie
菜单路径
添加cookie
登录接口的提取到的cookie信息:
在登录接口里面通过正则表达式获取到的cookie有多个,形成list类型的数据,此时需要通过对应的变量名来获取指定的有效cookie信息,例如本文中,有效的cookie对应的变量名为:cookie_g1=D5062B16CBA04005AA845CBB2E643B5D,如下图:
1.Name:定义cookie的名称,接口中定义的cookie所在字段的名称;
2.Value:Cookie变量值的引用,从上一个请求中提取的cookie的变量名称:${cookie_g1};
3.Domain:定义cookie生效的域名,若不定义则请求时不会引用该cookie信息。
脚本
本文示范的请求只有一个,所以直接在该请求下添加cookie管理器,如下图:
运行结果
登录后未设置对应的cookie管理器,或者cookie管理器的域名设置错误,则进行其他接口请求时,request内容会显示no cookies,则接口请求会报错401,如下图:
登录后的其他接口请求,会自动获取cookie管理器内的信息,作为cookie data进行身份信息验证:
常见状态码
以下为个人在进行接口测试过程中常见的状态码:
其他常见状态码可自行百度学习,在进行接口自动化测试过程中,掌握基础的常见HTTP状态码,有利于我们快读判断接口错误的原因。
版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。