首页 > 解决方案 > 蝗虫多用户登录

问题描述

我想允许我的 locust 应用程序使用多个用户帐户登录。

我试过 random.shuffle(),但它仍然只有一个帐户。

这是代码:

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

如何使其适用于登录列表中的所有元素?

标签: pythonrandomlocust

解决方案


我已经解决了这个问题。

只是更改random.shuffle(logins)random.choice(logins)并将其与 ...pop() 一起移至登录方法。


推荐阅读