Python/Locust - Изменение страницы / задачи с помощью идентификатора кнопки страницы
В настоящее время я разрабатываю программу нагрузочного тестирования для моего веб-сервиса, используя Python 3.6.4 в сочетании с библиотекой Locust. Кажется, что основные функции работают именно так, как я хотел. Но чтобы перемещаться по веб-сервису и получать доступ к некоторым страницам, пользователь должен нажать на некоторые кнопки, чтобы изменить страницу, к которой он обращается. Это изменение страницы, однако, не влияет на адрес https, причем изменения заметны только при проверке содержимого страницы. У каждой кнопки была своя id
, xpath
и так далее, но я понятия не имею, как заставить Locust "перемещаться" по системе.
Код у меня так далеко:
import locust
from locust import HttpLocust, TaskSet, task
import csv
users=[]
with open(csvpath, 'rt') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',', quotechar='|')
for row in spamreader:
users.append(row)
class UserBehavior(TaskSet):
def on_start(self):
if len(users) > 0:
user, passw = users.pop()
self.client.post("/?p=login", {"username":user, "password":passw})
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 3000
max_wait = 9000