python locust-事件順序


from  locust import HttpLocust,TaskSet,task
'''
點擊STOP,會停止測試,並調用所有當前執行的TaskSet的on_stop,但不會調用teardown函數
ctrl +c,表示停止locust運行,此時會調用TaskSet teardown # 停止locust運行時執行,Locust teardown  # 停止locust運行時執行,(而不會調用TaskSet的on_stop,點擊STOP,會停止測試,並調用所有當前執行的TaskSet的on_stop,但不會調用teardown函數)

stop_timeout:Locust停止的秒數,如果為None,將不停止一直執行任務,單位為s秒
-H:指定測試的主機地址(注:會覆蓋Locust類指定的主機地址)
-f:指定測試腳本地址(注:腳本中必須包含一個Locust的衍生類)
--no-web:不啟動web網頁,而是直接開始運行測試,需提供屬性-c和-r
-c:並發的用戶數,與--no-web一起使用
-r:每秒啟動的用戶數,與--no-web一起使用
-t:運行時間(單位:秒),與--no-web一起使用
-L:日志級別,默認為INFO
調試命令:locust -f **.py --no-web -c 1 -t 1
運行命令:locust -f **.py

Locust setup  # 第一次啟動Locust的時候執行
TaskSet setup       # 第一次實例化任務集時執行
TaskSet on_start  # 每一次開始一個任務時執行
TaskSet tasks…
TaskSet on_stop   # 點擊頁面stop時,當前所有在執行中的TaskSet執行
TaskSet teardown # 停止locust運行時執行
Locust teardown  # 停止locust運行時執行
'''
class mytaskset(TaskSet):
    def setup(self):
        print("TaskSet setup")
    def on_start(self):
        print("TaskSet on_start")

    @task(1)
    def one(self):
        print("任務1")
    @task(1)
    def two(self):
        print("任務2")
    def on_stop(self):
        print("TaskSet stop")
    def teardown(self):
        print("TaskSet teardown")
class websitUser(HttpLocust):
    weight = 1
    task_set = mytaskset
    host = "http://www.baidu.com"
    min_wait = 5000
    max_wait = 6000
    stop_timeout = 10
    def setup(self):
        print("locust set_up")
    def teardown(self):
        print("locust teardown")

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM