蝗虫中的动态GET参数

Dynamic GET parameter in locust

from locust import HttpLocust, TaskSet, task
import random

ids = [101, 102, 103, 104, 105, 106, 107, 108, 109, 110]


class TestAPITaskSet(TaskSet):

    @task(1)
    def test_get_id(self):
        id = random.choice(ids)
        self.client.get("/test-api/id/" + str(id), name="/id/[id]")


class TestAPILocust(HttpLocust):
    task_set = TestAPITaskSet
    min_wait = 0
    max_wait = 1000

如果我想从列表中随机选择 ID,这样好吗?还有其他更好的 Locust-Native 方法吗?

没有更好的 locust-native 方法,你的代码看起来很合理!

如果您的列表开始变得很长并且您可以从列表中按顺序选择,您可以查看 locust-plugins 中的 CSVReader:https://github.com/SvenskaSpel/locust-plugins/blob/master/examples/csvreader.py

您也可以将所有 IDS 存储在一个 txt 文件中,然后从文件中读取 ID。如果您有一长串 ID,这会有所帮助。

    IDList = []
    cwd = os.getcwd()
    fullfilepath = '%s/IDs.txt'%(cwd)
    with open(fullfilepath, 'r') as f:
           IDList = [line.strip() for line in f]


    ```