HttpLocust类比Locust类多了client特性,而Locust内部其实使用了python的requests模块发送HTTP请求,所以HTTP响应类的特性及方法也十分类似
from locust import HttpLocust, TaskSet, task, events
import requests
class UserBehavior(TaskSet):
def login(self):
a = requests.post("https://xxx.xxxxxxx.com/?c=login&m=login",{"username":"test1","password":"123456"})
ck = a.cookies
return ck
@task
def profile1(self):
b = self.client.get("/",cookies=self.login())
print(dir(b))
['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__doc__',
'__enter__', '__exit__', '__format__', '__getattribute__', '__getstate__',
'__hash__', '__init__', '__iter__', '__module__', '__new__', '__nonzero__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__',
'__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_content',
'_content_consumed', '_next', 'apparent_encoding', 'close', 'connection',
'content', 'cookies', 'elapsed', 'encoding', 'headers', 'history',
'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines',
'json', 'links', 'next', 'ok', 'raise_for_status', 'raw', 'reason',
'request', 'status_code', 'text', 'url']
常用方法
b.cookies
b.json()
b.status_code
b.text
b.history
b.reason
b.encoding
b.headers
使用cookie,和requests类时一样,当做参数传给get、post即可