Установить идентификатор сеанса в объекте Locust

Я отправляю http-запрос (Post), используя объект Locust на языке python. Когда я отправляю несколько запросов с использованием объекта Locust в одном файле Python, он работает, но когда я отправляю каждый запрос в отдельный файл Python, он не работает, поскольку я получаю сообщение об истечении срока действия сеанса. Наше требование состоит в том, чтобы использовать отдельный файл Python для каждого запроса, где я хочу прочитать сеанс предыдущего запроса и хочу назначить этот идентификатор сеанса в следующем запросе. Почему-то я не могу сделать в приведенном ниже фрагменте кода. Есть возможность установить cookie, но он не устанавливается в заголовке запроса.

subUrl='http://192.168.1.156:2016/login.aspx'
protocol='HTTP'
awaitingResponse = 1
response = self.client.post("http://192.168.1.156:2016/login.aspx", {"__EVENTTARGET":"","__EVENTARGUMENT":"","__LASTFOCUS":"","txtUserName":"Admin_Sample","txtPassword":"1","dllRole":"ProjectAdmin","cboProject":"Sample","Hdnlogin":"Please+enter+User+ID","HdnPassword":"Please+enter+Password","HdnProject":"Please+select+Project","HdnSubProject":"Please+select+Sub+Project","btnLogin":"Submit","__VIEWSTATE":VIEWSTATE1,"__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR1},{"Cookie":""})

Буду признателен, если вы поможете мне решить мою проблему.


person user2478625    schedule 28.06.2017    source источник
comment
Вы делите сеанс между ними?   -  person enderland    schedule 28.06.2017
comment
Да, я хочу поделиться сеансом, потому что все наши запросы связаны друг с другом. Следующий запрос завершает сеанс с истекшим сроком действия, когда я не устанавливаю идентификатор сеанса. На самом деле я работаю над структурой автоматического тестирования, где мне нужно выполнять различные действия на одном веб-сайте на разных этапах.   -  person user2478625    schedule 29.06.2017


Ответы (1)


Вы должны установить data с вашими данными, а cookie должен быть отправлен внутри header, вы можете установить пользовательский агент, если вам нужно. См. пример ниже:

response = self.client.post("http://192.168.1.156:2016/login.aspx", headers = {"Cookie": "", 'User-Agent': "set_useragent"}, data = {"__EVENTTARGET":"","__EVENTARGUMENT":"","__LASTFOCUS":"","txtUserName":"Admin_Sample","txtPassword":"1","dllRole":"ProjectAdmin","cboProject":"Sample","Hdnlogin":"Please+enter+User+ID","HdnPassword":"Please+enter+Password","HdnProject":"Please+select+Project","HdnSubProject":"Please+select+Sub+Project","btnLogin":"Submit","__VIEWSTATE":VIEWSTATE1,"__VIEWSTATEGENERATOR":VIEWSTATEGENERATOR1})
person Mesut GUNES    schedule 19.07.2017