Jmeter实用

Jmeter接口测试05-cookie关联

2020-05-15  本文已影响0人  mm__yy

如果我们想访问一个系统或平台,一般都需要先注册一个用户,登录后才能看到具体的内容(成功访问其它接口)。平时我们用浏览器访问一个系统,一般登录一次后,下次再打开浏览器访问此系统,可能不需要登录就进去了,这就是浏览器中cookie起了作用。那么我们使用Jmeter做接口测试时,如何通过cookie拿到认证信息,不需登录就可以直接访问下一个接口了呢,下面一起来学习下。

某页面接口

比如上面请求某个页面的接口,响应数据中显示请登录后操作,也就是说需要先登录,才能访问该接口。

如果先请求登录接口,再请求该页面的接口,是否能成功呢?答案是否。因为虽然先请求了登录接口,但是并没有获得任何凭证(即访问别的接口需要的登录凭证,也就是登录后的cookie信息),所以再请求该页面接口时,仍提示登录后再操作。

登录成功 某页面接口请求失败 注:加个请求消息头登录接口才能请求成功

那么如何保存我们所需要的cookie信息呢?在JMeter中有两种方式。

一种是通过HTTP Cookie管理器自动保存登录后的cookie信息。

操作步骤:

1、添加HTTP Cookie管理器。

添加cookie管理器

只需添加进来就好,不需要任何设置。

2、启动计划,查看测试执行结果。

某页面接口请求成功

从上图可看到某页面的接口已请求成功(成功访问到页面内容)。

HTTP Cookie管理器的功能:

1、Cookie管理器就像一个web浏览器那样存储并发送cookie。

2、接收到的cookie数据可以作为JMeter线程的参数进行存储。

3、可以手动添加一个cookie到Cookie管理器。

另一种方式是通过正则表达式提取cookie信息,然后在HTTP信息头管理器手动添加提取的cookie信息。之所以会使用这种方式,是因为开发可能会自己定义一些cookie信息,但这些信息不会保存在HTTP Cookie管理器中,所以就需要我们去针对性的提取相应的cookie信息。

登录接口请求响应中的cookie信息

操作步骤:

1、添加正则表达式提取器。

添加正则表达式提取器

2、配置正则表达式提取器。

因为cookie信息是在子请求中的响应消息头中保存着的,所以进行如下配置:

设置正则表达式提取器

3、添加调试取样器,执行计划,查看提取结果。

添加调试取样器 执行,查看结果,成功提取

4、将上面提取到的cookie值应用到个人管理接口中。

先启用个人管理请求,执行启动,看到应用cookie信息之前,个人管理请求响应结果如下:

未应用cookie信息

然后给个人管理请求添加HTTP信息头管理器:

添加HTTP信息头管理器

应用cookie信息:

添加cookie信息

接下来发送请求,查看响应结果:

成功访问个人管理页面

从上图看到应用cookie信息后,个人管理接口已成功请求到相应页面,而没有被登录页面阻拦。

以上就是Jmeter中cookie关联的两种方式。如有任何问题,欢迎留言讨论。

上一篇 下一篇

猜你喜欢

热点阅读