在前面的知识体系中介绍了Jmeter的基本应用,下来通过具体的案例来看Jmeter在接口测试中的具体案例实战部分。

HTTP是基于应用层的协议,底层的网络传输层它不需要去关心,同时它是一个无状态的协议,它的请求流程具体可以总结为:

1、客户端连接服务端建立TCP的连接;

2、客户端发送(Request)请求到服务端;

3、服务端响应( Response)回复给客户端;

4、客户端与服务端之间关闭TCP的连接。

HTTP在版本1.0以及现在使用的1.1中,它默认是持久连接,也就是Connection对应的Value值是:keep-alive,再通俗的说任意一端没有明确断开连接,保持TCP的连接。但是HTTP毕竟是一个无状态的协议,也就导致了cookie技术的发展,而Cookie是客户端的浏览器存储键值对的一些内容,首次客户端访问服务端的时候,服务端会把内容写入到客户端中,客户端下次访问的时候会带着键值对的内容发送到服务端,但是Cookie它是客户端的机制,敏感信息存储在客户端是很不合理的,也就有了Session,客户端发送请求到服务端,服务端会把信息保存在内存中,客户端下次请求的时候带上SessionID的信息来保持会话的连接。比如登录博客园登录后,想查看博客园的粉丝信息,必须是保持在登录的状态,并且是客户端得明确的告诉服务端是查看那个用户的博客园的粉丝,如果客户端请求的时候不带SessionID的信息,服务端会直接拒绝客户端的请求并且跳转到登录的页面。

通过Charles工具来查看博客园粉丝的请求信息,见截图:

Jmeter4.0接口测试之案例实战(七)-LMLPHP

再看服务端返回的响应内容数据:

Jmeter4.0接口测试之案例实战(七)-LMLPHP

下面使用Jmeter来实现该接口,查看我的粉丝,见Jmeter的截图

Jmeter4.0接口测试之案例实战(七)-LMLPHP

执行后,见执行的结果:

Jmeter4.0接口测试之案例实战(七)-LMLPHP

跳转到登录的页面,并没有跳转到我的粉丝的页面,这是因为客户端在发送请求的时候并没有在请求头中带Cookie,所以服务端认为是无登录,跳转到登录的页面, 下来处理这部分,在客户端发送请求的时候,在请求头中带上Cookie,见带上后的截图:

Jmeter4.0接口测试之案例实战(七)-LMLPHP

再次执行,就返回我的粉丝的响应数据,见截图:

Jmeter4.0接口测试之案例实战(七)-LMLPHP

05-28 19:29