Locust 參數化

(九)Locust 參數化

使用 LoadRunner 和 JMeter 的同學都知道,性能測試工具設置參數化頗爲麻煩,但對於 Python 來說,生成點數據再簡單不過了。

參數化系統登錄


這裏以某系統登錄爲例,簡單介紹登錄用戶名密碼的參數化實現

from locust import HttpLocust, TaskSet, task
from random import randint

# Web性能測試
class UserBehavior(TaskSet):

    def on_start(self):
        self.login()

    # 隨機返回登錄用戶
    def login_user():
        users = {"user1":123456,"user2":123123,"user3":111222}
        data = randint(1, 3)
        username = "user"+str(data)
        password = users[username]
        return username, password

    @task
    def login(self):
        username, password = login_user()
        self.client.post("/login_action", {"username":username, "password":password})


class User(HttpLocust):
    task_set = UserTask
    min_wait = 1000
    max_wait = 3000
    host = "http://www.xxx.com"

創建 login_user() 方法,定義登錄字典 users , 通過randint 隨機獲取字典中的用戶數據。

在 login() 登錄任務中,調用 login_user() 方法實現 隨機用戶的登錄。

關於參數化方式很多,這裏起一個拋磚引玉作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章