登錄案例locustfile.py
阿新 • • 發佈:2019-01-22
odi wow pan sta 自己 headers erb dex tar
# 保存為locustfile.py
# coding=utf-8
from locust import HttpLocust, TaskSet, task
‘‘‘
實現場景:先登錄(只登錄一次),然後訪問->我的地盤頁->產品頁->項目頁
訪問我的地盤頁面權重為2,產品頁和項目頁權重各為1
‘‘‘
class UserBehavior(TaskSet):
‘‘‘蝗蟲行為類‘‘‘
def _login(self):
‘‘‘登錄方法‘‘‘
# host = ‘http://192.168.x.xx:80‘ # 禪道的服務器地
loginUrl ="/zentao/user-login.html/"
h = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
"Content-Type": "application/x-www-form-urlencoded",
}
body = {"account": "運營", # 你自己的賬號
"password": "******", # 你自己的密碼
"keepLogin[]": "on",
"referer": "/zentao/my/"
}
r = self.client.post(loginUrl, data=body, headers=h)
print(r.text)
assert "parent.location=‘/zentao/index.html‘" in r.text
def on_start(self):
‘‘‘任務開始準備工作:只登錄一次‘‘‘
self._login()
# 任務1-我的地盤
@task(2)
def zentao_my(self):
print("---訪問頁面-我的地盤---")
r = self.client.get("/zentao/my/")
assert "我的地盤" in r.text
# 任務2-產品頁
@task(1)
def zentao_product(self):
print("---訪問頁面-產品頁---")
r = self.client.get("/zentao/product-browse.html/")
assert "需求列表" in r.text
# 任務3-項目
@task(1)
def zentao_prject(self):
print("---訪問頁面-項目---")
r = self.client.get("/zentao/project/")
assert "項目首頁" in r.text
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 1000
max_wait = 1000
if __name__ == "__main__":
import os
os.system("locust -f locustfile.py --host=http://192.168.x.xx:80")
登錄案例locustfile.py