Добрый день!

Подскажите пожалуйста, как правильно создать тесты JMeter с авторизацией? Есть тест, подключен элемент HTTP Cookie Manager.

Первым запросом (PATH = /ServiceModel/AuthService.svc/Login) хочу получить куки авторизации, результат запроса их возвращает, то есть как я понимаю сама авторизация проходит успешно:

 

HTTP/1.1 200 OK

Cache-Control: private

Transfer-Encoding: chunked

Content-Type: application/json; charset=utf-8

Location: /0

Server: Microsoft-IIS/10.0

Set-Cookie: BPMLOADER=iy5zrxlw22cxmf5jc1ngffvg; path=/; HttpOnly

X-Terrasoft-UserCulture: ru-RU

X-AspNet-Version: 4.0.30319

Set-Cookie: .ASPXAUTH=5291546A43E87BC1D69F21BA9F892D97EA7E962B1EC230480794A698DA92A98861710A33B49262FC9AF5D944F8DC8BB65578792113850193C1DD712EDAFFD30BDD87D57E92CC2049145B5F9035CD0D8E208FC4F477A9F9F1775BDEB1285064F2D67655E5C62C247C3091913E4C38CE8E0A1E8B1B33156537EAF247619B1DAB509023C49F7D33BDC79A3966A37C232EE9A45CE8682B3C6B8D3A44FA1DC0F8916705631F0E56AA52A4BDA821A46EFBCD9562F47EB319A12874E376610FFF5AA35D321AD8068E586C537CCEEDFB7765014034417C121E742DC1B6E7EA096743806126F98070ACE29E34511ED56D7268B5D5AD5DFA9E0B370CB84408FF981C6BC8C7FA8B2B1462AE03BC30C82840068CB08B7A8C880B2210CF42B8A323908932E81F3A322CABDE5BFE593F08B7231D9FA97C37693BD128070AD464129378D2A3AC3A96E5FCB2995AF022DA592BABF97076C7C82E08DA2B0507645B902A6B4A9F9082D1658F1F; path=/; HttpOnly

Set-Cookie: BPMCSRF=14FAvqYvD2kXP3haj1tbKO; path=/

Set-Cookie: UserName=83|117|112|101|114|118|105|115|111|114; expires=Sun, 22-May-2022 08:17:11 GMT; path=/; HttpOnly

X-Powered-By: ASP.NET

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options: nosniff

Date: Fri, 22 Apr 2022 08:17:11 GMT

 

Далее по тесту доходит до запроса, которому требуется авторизация (PATH - /0/rest/CurrentUserService/GetCurrentUserHomePage ).

 

Хэдеры запроса:

POST <адрес сайта>/0/rest/CurrentUserService/GetCurrentUserHomePage

POST data:

{}

Cookie Data:

.ASPXAUTH=5291546A43E87BC1D69F21BA9F892D97EA7E962B1EC230480794A698DA92A98861710A33B49262FC9AF5D944F8DC8BB65578792113850193C1DD712EDAFFD30BDD87D57E92CC2049145B5F9035CD0D8E208FC4F477A9F9F1775BDEB1285064F2D67655E5C62C247C3091913E4C38CE8E0A1E8B1B33156537EAF247619B1DAB509023C49F7D33BDC79A3966A37C232EE9A45CE8682B3C6B8D3A44FA1DC0F8916705631F0E56AA52A4BDA821A46EFBCD9562F47EB319A12874E376610FFF5AA35D321AD8068E586C537CCEEDFB7765014034417C121E742DC1B6E7EA096743806126F98070ACE29E34511ED56D7268B5D5AD5DFA9E0B370CB84408FF981C6BC8C7FA8B2B1462AE03BC30C82840068CB08B7A8C880B2210CF42B8A323908932E81F3A322CABDE5BFE593F08B7231D9FA97C37693BD128070AD464129378D2A3AC3A96E5FCB2995AF022DA592BABF97076C7C82E08DA2B0507645B902A6B4A9F9082D1658F1F; BPMCSRF=14FAvqYvD2kXP3haj1tbKO; UserName=83|117|112|101|114|118|105|115|111|114; BPMLOADER=iy5zrxlw22cxmf5jc1ngffvg

 

Результат его исполнения выдает ошибку доступа (см. ниже). Что я делаю неправильно и как это можно исправить?

Отключать BPMCSRF для тестируемого сайта нельзя.

 









401 - Доступ запрещен: Используются недействительные учетные данные.


body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}

fieldset{padding:0 15px 10px 15px;} 

h1{font-size:2.4em;margin:0;color:#FFF;}

h2{font-size:1.7em;margin:0;color:#CC0000;} 

h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} 

#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;

background-color:#555555;}

#content{margin:0 0 0 2%;position:relative;}

.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}

-->







Ошибка сервера



 

 

401 - доступ запрещен. Используются недействительные учетные данные.



 

Предоставленные учетные данные не дают права на просмотр этого каталога или страницы.



 




Нравится

1 комментарий

Добрый день, тут скорее ответ нужно искать в документации Jmeter.

Для примера нашёл эту статью http://justjmeter.blogspot.com/2012/04/blog-post.html

Показать все комментарии

Доброго дня! В рамках кейса по распределенному тестированию мы настроили соединение между jmeter-сервером и управляющим центром jmeter. Тесты на удаленном сервере запускаются с некоторой задержкой, а когда они завершаются, на управляющем центре не появляются результаты тестирования, и более того на управляющем центре тест зависает и не дает закрыть программу, хотя сервер уже закончил свою работу и написал сообщение об окончании тестирования. Столкнулись с тем, что тестирование на удаленном сервере по времени выполняется в несколько раз дольше, чем локально - нормально ли такое поведение? Также просьба подсказать, как нам запускать распределенное тестирование так, чтобы на управляющем центре появлялись все результаты? И какие настройки необходимо произвести, чтобы порт не менялся при каждом запуске jmeter? Может быть вы могли бы по опыту подсказать как нам настроить распределенное тестирование или с чем необходимо ознакомиться. Проанализировав проблему со своей стороны произвели следующие настройки в конфигурационном файле:

 

RMI_HOST_DEF=-Djava.rmi.server.hostname=OUR_IP_ADDRESS
server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true

 

Нравится

1 комментарий

Александр, добрый день!

По этой ссылке находится файл с информацией о первичной настройке jmeter, рекомендую ознакомится с ним. Если же в нём не будет необходимой вам информации, то лучше всего искать на сторонних источниках, поскольку jmeter всего лишь инструмент, использующийся в системе. По нему есть достаточно много сторонней документации. 

Показать все комментарии

Доброго дня! В рамках кейса по распределенному тестированию мы настроили соединение между jmeter-сервером и управляющим центром jmeter. Тесты на удаленном сервере запускаются с некоторой задержкой, а когда они завершаются, на управляющем центре не появляются результаты тестирования, и более того на управляющем центре тест зависает и не дает закрыть программу, хотя сервер уже закончил свою работу и написал сообщение об окончании тестирования. Столкнулись с тем, что тестирование на удаленном сервере по времени выполняется в несколько раз дольше, чем локально - нормально ли такое поведение? Также просьба подсказать, как нам запускать распределенное тестирование так, чтобы на управляющем центре появлялись все результаты? И какие настройки необходимо произвести, чтобы порт не менялся при каждом запуске jmeter? Может быть вы могли бы по опыту подсказать как нам настроить распределенное тестирование или с чем необходимо ознакомиться. Проанализировав проблему со своей стороны произвели следующие настройки в конфигурационном файле:

 

RMI_HOST_DEF=-Djava.rmi.server.hostname=OUR_IP_ADDRESS
server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true

 

Нравится

1 комментарий

Добрый день, Александр!

Рекомендую ознакомится со следующими статьями о раздельном тестировании:

https://academy.terrasoft.ua/docs/user/instrumenty_marketinga/email_mar…

https://academy.terrasoft.ua/docs/user/instrumenty_marketinga/email_mar…

https://academy.terrasoft.ua/docs/7-17/user/instrumenty_marketinga/emai…

Также прикладываю информацию о базовой настройке jmeter (для нагрузочного тестирования, однако, в этом есть полезная информация)

 

 

Показать все комментарии

Добрый день. Сейчас через скрипт рекордер записываю действия и прогоняю по этому сценарию нагрузку. Вопрос у заказчика в другом, почему к примеру, при нагрузке в 600 пользователей не создаётся 600 тестовых обращений хотя по скрипту записано от и до. Авторизация в JMeter работает.

Нравится

1 комментарий

Думаю, заказчику лучше обратиться с вопросом к тому, кто разрабатывал сценарий. Без подробностей сложно сказать, что именно он делает в системе. Например, если каждый раз сохранять запись о новом обращении с одним и тем же Id (а при нормальной работе он уже есть в запросе к /0/DataService/json/SyncReply/InsertQuery), то не создастся много записей, а будут ошибки.

Показать все комментарии