Как устранить ошибку клиента 401: несанкционированный доступ к URL-адресу, возвращенному в сценарии locustio? - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь написать скрипт нагрузочного теста с помощью locustio, задача состоит в том, чтобы сначала войти в систему и выбрать access_token из ответа входа в систему, затем access_token анализируется как заголовок запроса для второго запроса API.

Ниже приведен мой сценарий:

from locust import HttpLocust, TaskSet, task, between
import json



class UserBehavior(TaskSet):

    def __init__(self, parent):
        super(UserBehavior, self).__init__(parent)

        self.token = ""
        self.headers = {}

    def on_start(self):
        """this starts before anything else"""
        self.token = self.login()
        self.headers = {'Authorization': 'Bearer ' + self.token}




    def login(self):

        resp = self.client.post("/tologin",json={"username": "user_name","password": "password"})

        return json.loads(resp._content)['data']['access_token']







    @task()
    def book_trip(self):

        self.client.post("/go/trips/request",json={
   "origin": {
    "address": "pick_up_address",
    "lat": 6.4,
    "lng": 3.5
  },
   "destination":{
       "address": "Sailor's Bar",
        "lat": 6.4,
        "lng": 3.4
   },
   "auto_dispatch": "true",
   "is_cash": "false",
   "user_id":"uuid",
   "service_id": "svdid"
},headers=self.headers)


class CustomerAppUser(HttpLocust):
    host = "my_base_url"
    task_set = UserBehavior
    wait_time = between(5,15)

Пожалуйста, что я делаю не так? почему он возвращает

401 Ошибка клиента: не авторизован для URL

Спасибо.

...