Jmeter против селена

Привет, я хочу начать автоматизацию тестирования, и два инструмента, которые я нашел во время моего первого поиска в Интернете, - это Selenium и Jmeter.

Какой из них, на ваш взгляд, является первым, на который стоит взглянуть? Или мне нужны оба инструмента, так как они совершенно разные?

Что мне понадобится, так это возможность выполнять Clientside-Certificate-Authentication, заполнять формы различной информацией и проверять страницы результатов.

4 ответа

Решение

Apache JMeter - определенно инструмент для тестирования производительности и нагрузочных / стресс-тестов. Но вы можете использовать его и для функциональных тестов (в вашем примере: заполните форму -> проверить результаты, но с проверкой, соответствуют ли результаты ожидаемым - но лучше не проводите функциональное тестирование с ним)

Для функционального тестирования, с другой стороны, есть Selenium, а также веб-тест Canoo.

Таким образом, окончательный ответ будет объединять эти два. (Я использовал JMeter для тестирования производительности и веб-тестирование canoo для функционального тестирования, но я думаю, что Selenium теперь намного лучший выбор)

  • Используйте Selenium для ваших функциональных тестов
  • Используйте JMeter для стресс-тестов и измеряйте производительность

В обоих случаях вы можете записать сеанс, чтобы вы могли запустить свой движок Selenium или JMeter, сделать что-то в браузере и затем остановить запись. После этого вы можете использовать Selenium или JMeter для повторного запуска записанного сеанса.

Selenium тестирует поля и кнопки браузера. В Selenium вы можете заполнить поле ввода и нажать кнопку, дождаться загрузки страницы и осмотреть страницу.

Jmeter может быть использован для тестирования пользовательского браузера GET и POST-коммуникаций. В Jmeter вы можете запросить URL и опубликовать некоторые параметры, как это делает браузер, а затем проверить ответ страницы.

Плюсы и минусы:

Selenium хорош, если вы хотите проверить функциональность страниц JavaScript.

Selenium хорош, если вы хотите, чтобы ваши тестовые примеры были написаны на Java, Javascript, Python или простых текстовых файлах HTML. Selenium может форматировать ваши тестовые примеры на многих языках программирования. JMeter всегда использует формат XML для контрольных тестов магазина.

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

JMeter хорош, если вы хотите также записывать протоколы HTTP, SOAP и RESTFul. JMeter может использоваться для записи и тестирования связи между серверами. JMeter не нуждается в браузере для запуска, Selenium делает.

JMeter может запускать запросы SQL, сценарии bash, классы Java,... из теста JMeter. С другой стороны, тесты Selenium могут быть встроены в Java, Python, Javascript, ... программы.

Оба поддерживают xpath, проверку html, проверку css,...

Как уже упоминалось в ответах выше, Selenium - это инструмент для тестирования функциональности. Обычно его описывают как инструмент для автоматического тестирования, в то время как с другой стороны, JMeter - это инструмент, используемый для тестирования производительности.

Я бы предложил начать с Selenium, поскольку наиболее важным аспектом любого веб-приложения является то, что оно работает правильно. Попробуйте создать базовый набор из пары тестов с наиболее важными автоматизированными тестами, которые проверяют некоторые функции. Как только у вас появятся базовые знания по автоматическому тестированию, я перейду к JMeter и тестированию производительности.

По моему личному опыту, тестирование производительности требует гораздо больше знаний о тестируемой системе, чем автоматическое тестирование. И JMeter, и Selenium не должны быть сложными для изучения, но для тестирования производительности вам нужно больше узнать о тестируемых веб-приложениях.

Другие вопросы по тегам