(九)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() 方法實現 隨機用戶的登錄。
關於參數化方式很多,這裏起一個拋磚引玉作用。