【发布时间】:2021-12-31 10:39:13
【问题描述】:
所以我有一个负载测试场景,每个生成用户发布不同的 JSON(在这种情况下我生成 100 个用户)
这是 POST 的 JSON 示例,其中 SITE_CODE 对于每个请求都应该不同
def generateJson(site):
try:
payload = {
"clockin": [
{
"SITE_CODE": generateSiteCode(site),
"EMP_NO": "1202-31009",
"SEQUENCE": 120,
"EMP_NO": "1202-00036",
"CLOCKING_STATUS": "40",
"CLOCK_IN_TIMESTAMP": "2021-11-16 12:09:24.276",
"CLOCK_IN_LONGITUDE": 106.8630792,
"CLOCK_IN_LATITUDE": -6.2426467,
"CLOCK_IN_PHOTO": f.read(),
"CLOCK_OUT_PHOTO": "",
"CLOCK_OUT_TIMESTAMP": "2021-11-16 12:11:53.797",
"CLOCK_OUT_LONGITUDE": 106.8631024,
"CLOCK_OUT_LATITUDE": -6.2426843,
"CREATION_USER_ID": "auto_retry",
"CREATION_DATETIME": "2021-11-16 12:09:24.276",
"CHANGE_USER_ID": "1202-00036",
"CHANGE_DATETIME": "2021-11-16 12:11:53.797"
}
],
这是为每个用户实现任务的示例
class reqUser1(HttpUser):
wait_time = between(1, 5)
@task(1)
def gen_variable(self):
self.client.get("GenVariable/getVar")
@task(2)
def post_shift(self):
self.client.post("/Log", json=generateJson(1), headers={'Content-Type': 'application/json', 'Accept': 'application/json'})
@task(3)
def get_item(self):
self.client.get("/item/getItem")
如何使用 Locust 实现这一目标?
【问题讨论】:
标签: python json load-testing locust