歪小Y_02 发表于 2019-3-22 16:43:02

Locust 脚本-HttpLocust

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即可

qqq911 发表于 2019-4-12 10:47:07

感谢分享

Miss_love 发表于 2020-12-25 16:57:52

感谢分享
页: [1]
查看完整版本: Locust 脚本-HttpLocust