client属性
http协议是无状态的,就是不对之前发生过的请求和响应进行管理。所以登录请求和登录之后的请求是独立的,但是登录后的请求需要依赖先登录拿到cookie,才能保持登录状态,在python3语法中可以用requests.session()实现。
在locust中,HttpLocust类继承Locust类,并添加一个client属性,client封装了python的requests库,是HttpSession实例,可以理解为client = requests.session() ,发起请求时用于建立与保持HTTP请求会话。所以用户登录以后的请求,可以直接使用client.get( )、client.post( )发送请求,和requests用法一致,可以发送get,post,put,delete,head,patch和options等HTTP请求。
client属性发送的请求返回一个对象,有response.status_code 和 response.content两个成员;如果请求发送失败,将返回一个空的Response对象,response.content置为空,status_code置为0,locust将这个失败的请求标记为failure。