Python 蝗虫多用户登录
我想允许我的蝗虫应用程序使用多个用户帐户登录 我尝试了random.shuffle(),但仍然只有一个帐户 代码如下:Python 蝗虫多用户登录,python,random,locust,Python,Random,Locust,我想允许我的蝗虫应用程序使用多个用户帐户登录 我尝试了random.shuffle(),但仍然只有一个帐户 代码如下: from locust import HttpUser, task, TaskSet, between, exception, events import logging import random paths_in_dict = {"hard_path": "secure/izar.xhtml/",
from locust import HttpUser, task, TaskSet, between, exception, events
import logging
import random
paths_in_dict = {"hard_path": "secure/izar.xhtml/",
"standard_analysis_path": "analysis/STANDARD/",
"smart_analysis_path": "analysis/SMART/"}
passwd = 'radio'
logins = [
'aaa', 'bbb', 'ccc', 'ddd', 'eee'
]
random.shuffle(logins)
login_pass = [(elem, passwd) for elem in logins]
if len(login_pass) > 0:
user, passwd = login_pass.pop()
default_headers = {'X-Username': user, 'X-Password': passwd}
class MyUser(HttpUser):
wait_time = between(5, 9)
host = "https://localhost:9003/"
def on_start(self):
self.client.verify = False
self.login()
def on_stop(self):
pass
def login(self):
self.client.request(method="POST", url="login.xhtml", headers=default_headers,
name="---ON START---LOGIN")
logging.info('Login with %s username and %s password', user, passwd)
# ----------------------------------MAIN LINKS/DROPDOWNS----------------------------------------------
@task
def dashboard(self):
dashboard_get_response = self.client.get(paths_in_dict["hard_path"] + "dashboard", name="Dashboard")
return dashboard_get_response
如何使它与登录列表中的所有元素一起工作?您在错误的位置执行了login\u pass.pop()。如果在顶层/模块级执行,则只执行一次。将该代码移到on_start或login方法中。我已经解决了这个问题
刚刚将
random.shuffle(logins)
更改为random.choice(logins)
,并将其与…pop()一起移动到登录方法。您的意思是-def login(self):self.client.request(method=“POST”,url=“login.xhtml”,headers=default_headers,name=“---ON START--login”)logging.info('Login with%s username and%s password',user,passwd)passwd='radio'登录=['aaa','bbb','ccc','ddd','eee']随机。shuffle(登录)登录\u pass=[(elem,passwd)用于登录元素]它仍然不起作用。不管我是将这些行放在登录方法中,还是放在启动上。不可能知道正在读什么:)也许你可以更新你的帖子?这最像是一个python问题,而不是蝗虫问题。。。