2015-10-01 3 views
0

Я пытаюсь изучить J-Meter.J-Meter дает ложные результаты

Когда я запускаю образец сценария входа в сайт с использованием действительных/недопустимых учетных данных, он не останавливает выполнение потока, когда используются недействительные учетные данные, а также не регистрируется в базе данных.

Действительно ли это логин на веб-сайт или только создает виртуальный логин для создания аналогичной среды. Есть ли способ достичь этого с помощью Samplers?

ответ

1

JMeter является/действует как headless browser.

Независимо от вашего браузера с пользовательским интерфейсом, JMeter также может выполнять - за исключением выполнения javascript. Итак, если вы правильно записали свой сценарий, JMeter также может войти в приложение.

Jmeter не похож на QTP/Selenium. Он не знает, являются ли они действительными учетными данными/недопустимыми учетными данными. Он передает/не выполняет запрос на основе HTTP-кодов. Если ответ HTML с сервера поставляется с кодом 200 http, он передается для JMeter. Если сервер отвечает кодом 500, JMeter не выполняет запрос. Но JMeter также дает возможность проверить полученный ответ - Assertion. Вы можете использовать Response Assertion, чтобы увидеть, видите ли вы домашнюю страницу или нет, чтобы подтвердить, успешно ли зарегистрировался пользователь.

Чтобы остановить тест при ошибке, выберите подходящую опцию здесь, в thread Group.

enter image description here

JMeter это очень хороший инструмент & использовал его в течение 2-х лет без каких-либо проблем.

Удачи вам!

+0

Спасибо @Vinoth, я использовал Ответ от ответа, чтобы найти Панель мониторинга, которая видна только для зарегистрированных пользователей. Но вместо этого отображается ошибка. Даже когда используются действительные учетные данные. – lionxalmb

+0

Добавьте ответное утверждение как дочерний элемент HTTP-пробоотборника, который отправляет запрос на вход. это очень чувствительный поиск. Так что просто ищите 'Dashboard' – vins

0

Есть ли у вашего сценария Config Element -> HTTP Cookie Manager? Для функции входа в систему требуется файл cookie.

Если ваш сценарий имеет много транзакций с одинаковым уровнем с транзакцией входа, а параметр, выбранный вами в вашей группе потоков, равен Continue, все транзакции будут выполняться независимо от того, передана или не выполнена транзакция входа в систему.

В случае, если вы хотите, чтобы другие операции не будут выполняться, если Логин не удается, пусть добавить Regular Expression Extractor в детстве операции входа в систему, чтобы восстановить текст Dashboard, поставить другие сделки в Logic Controller -> If Controller. Предположим, что Regular Expression Extractor имеет имя Dashboard и Default value является NotFound, то условие If Controller будет "${Dashboard}"!="NotFound"

0

JMeter автоматически обрабатывает 2xx и коды ответов 3xx HTTP успешным, поэтому он не будет в состоянии обнаружить не удалось логин, если вы явно не скажете ей проверьте наличие или отсутствие какого-либо определенного содержимого в данных ответа.

Таким образом, если вы добавите Response Assertion, вы сможете условно пропустить сэмплер и выбрать, что делать в случае сбоя через «Действие, которое следует предпринять после ошибки Sampler» на уровне Thread Group.

См. How to Use JMeter Assertions in Three Easy Steps руководство для получения более подробной информации о домене утверждений.

Если вы не знаете, что делает JMeter Sampler, вы можете проверить информацию о запросе и ответе через прослушиватель View Results Tree.Если вы не можете имитировать событие входа в большинстве случаев, это из-за отсутствия HTTP Cookie Manager и/или неудачной корреляции динамических обязательных параметров, таких как Viewstate, токен CSRF и т. Д.

Смежные вопросы