locust学习(二)

这一篇我们来介绍一下如何使用locust做跨请求保持信息,由于许多平台都限制必须登录才能访问某些功能,我就以登录为例,还是直接上代码:

on_start

讲一下代码:

on_start方法每个并发只会执行一次,且只执行一次,所以,我们可以在这里面进行初始化工作,比如登录,保存登录信息等

HttpSession继承与requsts.session,所以我们可以使用HttpSession来跨请求保存参数,代码步骤如下:

1.先实例化一个self.session = HttpSession() 

2.然后构建请求头header={},请求头里面保存我们获取到的session/token,构建完记得updata一下

3.最后使用self.session进行登陆请求,这个时候的session已经保存了该请求的请求头信息(每个平台实现登录的方法不一样,我们平台是获取到sessionID再进行登陆绑定,根据自己需要的逻辑在on_start里面实现登录就行)

4.在test1和test2方法中直接使用self.session进行请求就已经是登录状态。 

对比locust学习(一)中test中代码精简了不少,不用每个请求去构建请求头了,现在可以运行一下,前往http://localhost:8089/查看运行情况,登录问题已解决,下一节分布式压测

你可能感兴趣的:(locust学习(二))