У меня есть приложение flask, которое выглядит следующим образом: (обратите внимание, я упростил его ради этого вопроса)
@app.route("/app/ent/", methods=['POST'])
def methodpost():
req_data = request.get_json()
msg = req_data['msg']
output = jsonify(msg=msg)
return output
тогда для этого у меня есть файл саранчи, который выглядит как это:
from locust import HttpLocust, TaskSet, task, between
class MyClass(TaskSet):
@task(1)
def send_post(self):
self.client.headers['Content-Type'] = "application/json"
response = self.client.post("/app/ent/", json=
{
"msg": "test mesg example"
})
#temp
json_response_dict = response.json()
msg = json_response_dict['msg']
print("Post nessage returned is " + msg)
class MyTest(HttpLocust):
task_set = MyClass
wait_time = between(0.5, 3.0)
host = "http://localhost:5000"
Я запускаю locust следующим образом:
locust -f locust_myExample.py
Затем, когда я запускаю его с помощью пользовательского интерфейса, я получить следующую ошибку:
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Любая идея , как я могу напечатать "msg" , которое возвращается приложением flask?
Однако, просто чтобы сделать уверен, что это работает, когда я делаю ручное тестирование с использованием cURL, он возвращает "msg"
curl --header "Content-Type: application/json" \
--request POST \
--data '{"msg":"test mesg example"}' \
http://localhost:5000/app/ent
пример теста mesg