【发布时间】:2020-01-02 15:43:13
【问题描述】:
我正在使用 locust 对 api 进行负载测试。我在那个 api 上发送 POST 请求。我的用例是我想检查 api 一次可以接受多少个请求。这是我的代码
import requests
from locust import HttpLocust, TaskSet
from requests.auth import HTTPDigestAuth
from credentials import *
class UserBehavior(TaskSet):
def on_start(self):
if len(USER_CREDENTIALS) > 0:
self.name, self.password,self.email,self.phone,self.country_abbrev = USER_CREDENTIALS.pop()
@task
def registration(self):
URL = "ip/user/register"
PARAMS = {'name':self.name,'password': self.password,'primary_email': self.email,'primary_mobile_number':self.phone,'country_abbrev':self.country_abbrev}
self.client.post(url = URL,params = PARAMS,auth=HTTPDigestAuth('user', 'pass'))
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 5000
max_wait = 9000
然后我运行 locust -f locust.py --host=localhost:8089
然后我可以选择设置孵化率和用户数量。如果我只想同时发送 100 个 post 请求以检查 API 是否可以一次处理 100 个请求,我应该设置什么值。
任何帮助将不胜感激
【问题讨论】:
-
@task是什么意思?