Невозможно импортировать имя 'Пользователь' из библиотеки 'Locust' - PullRequest
1 голос
/ 07 мая 2020

Я новичок в Locust, просто начал возиться с ним пару дней a go.

Раньше я следовал чьему-то примеру, который использовал:

class WebsiteUser(HttpLocust):
   # Do stuff

Но после прочтения дополнительной документации я попытался использовать класс User, и теперь у меня возникают ошибки, когда я пытаюсь импортировать указанный класс:

Я просто скопировал / вставил пример из docs , чтобы убедиться, что у меня нет опечаток:

from locust import User, TaskSet, task, between

class MyTaskSet(TaskSet):
    @task
    def my_task(self):
        print("executing my_task")

class MyUser(User):
    tasks = [MyTaskSet]
    wait_time = between(5, 15)

Ответ:

local_1          | [2020-05-07 00:54:07,494] c8343450b35a/ERROR/stderr: File "/src/locustfile.py", line 153, in <module>
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: 
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: from locust import User, TaskSet, task, between
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: 
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: ImportError
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: :
local_1          | [2020-05-07 00:54:07,495] c8343450b35a/ERROR/stderr: cannot import name 'User'

ПРИМЕЧАНИЕ : Я запускаю саранчу внутри docker контейнер. И если я вернусь к использованию:

class WebsiteUser(HttpLocust):
    task_set = UserBehaviour # class UserBehaviour(TaskSet):
    wait_time = between(5.0, 9.0)

, все будет работать нормально.

Это мой requirements.txt, который я использую:

locustio
influxdb==5.3.0

И я Я использую самую последнюю версию locust docker image locustio/locust:0.14.6 Так что все должно быть актуальным.

  1. Как вы думаете, это проблема с документацией, и она должна быть обновился или я что-то пропустил, и это моя вина?
  2. Я также заметил, что есть класс Locust, который я могу импортировать, и он, кажется, ведет себя так же, как класс User, я не я не вижу никаких документов, в которых упоминается класс Locust, хотя ... кто-нибудь знает что-нибудь об этом?

1 Ответ

4 голосов
/ 07 мая 2020

Документация по адресу https://docs.locust.io/en/latest/ относится к locust 1.0 (в настоящее время доступна прямо с github и как предварительный пакет), где все классы Locust были переименованы в User.

Текущий «стабильный» пакет (0.14.6) задокументирован здесь: https://docs.locust.io/en/stable/

Надеюсь, это объясняет вашу ситуацию.

Подробнее см. В журнале изменений информация об изменениях https://docs.locust.io/en/latest/changelog.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...