蝗虫中的动态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]
```
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]
```