Перейти к содержимому

Фотография

Selenium + JMeter для нагрузочного тестирования


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 19

#1 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 29 августа 2008 - 13:08

Привет Всем!

Я пытаюсь реализавать связку Selenium + JMeter для нагрузки.

Имею следующие результаты: при помощи Selenium IDE записываю приблизительный скрипт, потом создаю в eclipse java проджект подключаю Selenium RC библиотеки и JUnit библиотеку, правлю и отлаживаю там скрипт полученный в Selenium IDE и делаю jar файл, потом с помощью JMeter прогонят этот junit test для многих юзеров.

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

Помогите как это сделать!
  • 0

#2 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 01 сентября 2008 - 08:08

Привет Всем!

Я пытаюсь реализавать связку Selenium + JMeter для нагрузки.

Имею следующие результаты: при помощи Selenium IDE записываю приблизительный скрипт, потом создаю в eclipse java проджект подключаю Selenium RC библиотеки и JUnit библиотеку, правлю и отлаживаю там скрипт полученный в Selenium IDE и делаю jar файл, потом с помощью JMeter прогонят этот junit test для многих юзеров.

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

Помогите как это сделать!


Зачем так сложно ?
Почему вам просто не сделать Jmeter скрипты самому (как вариант воспользоваться рекордером).
  • 0

#3 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 02 сентября 2008 - 10:31

Зачем так сложно ?
Почему вам просто не сделать Jmeter скрипты самому (как вариант воспользоваться рекордером).


Скажите тогда пожалуйста. Возможно ли записывать через JMeter скрипт на GUI уровне? Или только на уровне запрос ответ?

Вы говорите через selenium сложно - но ведь там писать можно на GUI уровне - а это очень хорошо и ясно)))
  • 0

#4 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 02 сентября 2008 - 11:22

Скажите тогда пожалуйста. Возможно ли записывать через JMeter скрипт на GUI уровне? Или только на уровне запрос ответ?


Да возможно, но только для http протокола, например если у вас GUI действия результируют http траффик они будут записаны.
Кстати, Селениум работает по такому же принцыпу.
  • 0

#5 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 02 сентября 2008 - 11:53

Скрипт seleniumа получается приблизительно следующий (все ясно и понятно!):
selenium.open("http://ххх/app/login/login.jsp");
assertEquals("First Cal LOGIN", selenium.getTitle());

//Login to the application
selenium.type("j_username",Login);
selenium.type("j_password",Password);
selenium.click("button2");
selenium.waitForPageToLoad("30000");
assertEquals("First Cal MAIN SECURE PAGE", selenium.getTitle());

Может ли так JMeter? (сомневаюсь)
  • 0

#6 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 02 сентября 2008 - 12:41

Скрипт seleniumа получается приблизительно следующий (все ясно и понятно!):
selenium.open("http://ххх/app/login/login.jsp");
assertEquals("First Cal LOGIN", selenium.getTitle());

//Login to the application
selenium.type("j_username",Login);
selenium.type("j_password",Password);
selenium.click("button2");
selenium.waitForPageToLoad("30000");
assertEquals("First Cal MAIN SECURE PAGE", selenium.getTitle());

Может ли так JMeter? (сомневаюсь)


Не может и в принципе не должен, так как Jmeter не есть тул для функционального тестирования.
Он интерпретирует записанные действия в тестплан, своего рода GUI сценарий.
  • 0

#7 the_norn

the_norn

    Активный участник

  • Members
  • PipPip
  • 91 сообщений
  • ФИО:Kononov Roman

Отправлено 03 сентября 2008 - 10:29

Жметр тоже может такое делать, единственно он толко перехватит ваш пост/гет запрос и отправит его сам, сессия и куки можно подставлять реальные или использовать заглушки(переменные), ассертить то что возвращается жметр тоже умеет и условные переходы там есть, можно кстати записать первоначальный скрипт либо используя прокси у жметра, либо сторонний софт например BadBoy.Для жметра есть кстати плагины позволяющие разрулить пользователей для близкой к реальной эмуляции их поведения.
  • 0

#8 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 11 ноября 2008 - 14:31

После перерыва я опять занялся этой темой. И добился нормальных результатов. То есть получилось содинить Selenium + Jmeter. осталось придумать как мерять результат что бы было наглядно ).
Думаю есть перспектива для работы и с AJAX.
  • 0

#9 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 11 ноября 2008 - 14:47

После перерыва я опять занялся этой темой. И добился нормальных результатов. То есть получилось содинить Selenium + Jmeter. осталось придумать как мерять результат что бы было наглядно ).
Думаю есть перспектива для работы и с AJAX.

Каким образом соединили ? :dirol:
  • 0

#10 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 11 ноября 2008 - 15:35

Каким образом соединили ? :dirol:


Делаю джарку и с помощью java request запускаю ее через jmeter на много узеров. Вот только возникает проблема что firefox с проблемами запускает много раз себя.
Продолжаю двигаться в этом направлении.
Может у кого есть мысли по этому поводу?
  • 0

#11 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 11 ноября 2008 - 16:15

Каким образом соединили ? :dirol:


Делаю джарку и с помощью java request запускаю ее через jmeter на много узеров. Вот только возникает проблема что firefox с проблемами запускает много раз себя.
Продолжаю двигаться в этом направлении.
Может у кого есть мысли по этому поводу?

Я думаю что это не есть красивый метод интеграции и, сомневаюсь, что такой подход можно назвать интеграцией.
Мой вам совет раньте функциональные тесты и нагрузочные отдельно друг от друга.
  • 0

#12 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 11 ноября 2008 - 16:53

Я думаю что это не есть красивый метод интеграции и, сомневаюсь, что такой подход можно назвать интеграцией.
Мой вам совет раньте функциональные тесты и нагрузочные отдельно друг от друга.

Полностью поддерживаю Atomic_A@ukr.net. Нечего мешать "мелкое" с "мягким"... :)

Но если же вы все таки хотите использовать функциональные тесты при тестировании производительности, то делайте это на примере продуктов меркюри (запуск скриптов WinRunner или QTP в LoadRunner). На сколько я знаю, в их случае скрипты запускаются на отдельных машинах. На сколько это будет удобно не знаю, но как вариант использования попробовать можно...

Вот...
  • 0
Алексей Булат
Про Тестинг

#13 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 12 ноября 2008 - 13:44

Полностью поддерживаю Atomic_A@ukr.net. Нечего мешать "мелкое" с "мягким"... :)

Но если же вы все таки хотите использовать функциональные тесты при тестировании производительности, то делайте это на примере продуктов меркюри (запуск скриптов WinRunner или QTP в LoadRunner). На сколько я знаю, в их случае скрипты запускаются на отдельных машинах. На сколько это будет удобно не знаю, но как вариант использования попробовать можно...

Вот...


Где взять пол миллиона долларов?
  • 0

#14 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 12 ноября 2008 - 14:14

Где взять пол миллиона долларов?

Используйте тот же Jmeter и Selenium и будет вам счастье практически бесплатно.
  • 0

#15 George

George

    Активный участник

  • Members
  • PipPip
  • 105 сообщений
  • Город:Минск

Отправлено 01 декабря 2008 - 15:11

Похоже мое исследование зашло в тупик. Очень жаль :(

Проблема в том что для каждого юзера запускается свой браузер (это в случае теста написанного на selenium), а компьютер попросту тупит когда запущено много firefox да и сам ff тупит, к тому же firefox не может запускаться очень много раз одновременно без ошибок (при более 10 браузерах некоторые другие уже открывабтся с ошибками).

Нашел статью о возможности запуска браузера в background режиме, но это наврядли решит проблему.

Может у кого-нубудь есть опыт работы с браузером в background?
  • 0

#16 Troubleshooter

Troubleshooter

    Опытный участник

  • Members
  • PipPipPipPip
  • 398 сообщений
  • Город:Киев

Отправлено 01 декабря 2008 - 15:30

Может у кого-нубудь есть опыт работы с браузером в background?

Вы все не угомоннитесь :wink: :lol2: :lol:
Просто поймите что игра не стоит свеч по многим причинам, а основное это то что результаты такого тестирования не есть "чистыми".
  • 0

#17 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 02 декабря 2008 - 13:33

Похоже мое исследование зашло в тупик. Очень жаль :(

Проблема в том что для каждого юзера запускается свой браузер (это в случае теста написанного на selenium), а компьютер попросту тупит когда запущено много firefox да и сам ff тупит, к тому же firefox не может запускаться очень много раз одновременно без ошибок (при более 10 браузерах некоторые другие уже открывабтся с ошибками).

Нашел статью о возможности запуска браузера в background режиме, но это наврядли решит проблему.

Может у кого-нубудь есть опыт работы с браузером в background?

Могу предложить вам альтернативное решение:
1. Выбросьте Селениум на свалку
2. Возьмите htmlunit/httpunit и работайте с ними... Их браузеры не видимые и создаются в бекграунде. Но будьте осторожны, т.к. можно очень легко схватить OutOfMemory...
  • 0
Алексей Булат
Про Тестинг

#18 ezha

ezha

    Новый участник

  • Members
  • Pip
  • 13 сообщений
  • ФИО:Зоя

Отправлено 02 марта 2009 - 07:53

У selenium (в ночных сборках точно) есть режим *mock - эмулятор браузера. Как и в случае httpUnit/jwebUnit вы получите очень шустрые тесты, но фиговую поддержку js
  • 0
Завтра. Будет.

#19 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 02 марта 2009 - 08:01

JMeter не прокатит. Вам сюда: http://browsermob.com/
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#20 djx-treme

djx-treme

    Новый участник

  • Members
  • Pip
  • 13 сообщений

Отправлено 03 марта 2009 - 07:37

Спасибо!
Очень ценно!

Разбираемся )
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных