多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

接口自动化测试世界里的身份证

更新时间:2022-07-29 09:18:37 作者:多测师 浏览:19

  在数字网络世界,“身份信息”就像我们的身份证一样,有身份证信息,我们才可以去办理个人社保、公积金、银行卡之类的信息,同样的我们要获取这些数据,都必须使用我们的身份证进行验证,否则对应的系统服务器无法识别,是否用户本人?应该给获取什么数据给对应的用户?

接口自动化测试世界里的身份证

  同样的在接口的世界里面,不同的客户端向服务器请求信息时,也需要指定的“身份信息”来告知服务器该请求是哪个客户端发起的 。服务器根据接口对应的“身份信息cookie”来识别发起请求的是谁,应该给其什么数据,且该数据是别人无法获取的。

  Jmeter是一个常见的接口自动化测试工具,其提供了HTTP Cookie Manager来管理接口需要的“身份信息”。

  基础概念

  在cookie管理器之前需要了解以下两个概念:

  Cookie

  Cookie是远程服务端返回的识别用户身份信息,该信息存储在客户端,客户端每次进行操作时,会通过HTTP协议和服务器端进行Cookie的交互,验证身份信息正确才可交互成功(大多数需要登录后操作的接口上面会比较常见)。

  Set-Cookie

  设置HTTP 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进行身份信息验证。

  以上内容为大家介绍了接口自动化测试世界里的身份证,本文由多测师亲自撰写,希望对大家有所帮助。了解更多接口自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部