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

Фотография

Параллелизация или как сэономить ресурсы?


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

#1 unmanner

unmanner

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

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

Отправлено 08 апреля 2013 - 07:32

Здравствуйте!

Подскажите, есть ли в каком-либо веб драйвере возможность управления вкладками из Selenium приложения на Java. А так же можно ли каждой вкладке указать proxy_host:port?

Если нельзя управлять вкладками, то сколько открытых драйверов может потянуть система? (Имеется ввиду потенциальная крэшо-устойчивость всей связки, не упадут ли все драйвера сразу?) 10, 100, 1000?

NOTE: Все прокси сервера локальные и нужны для параллелизации другой подсистемы.
NOTE2: Нужна на 100% безглючная система, может ли параллелизация с помощью вкладок уменьшить загрузку системы не уменьшая её стабильности?

Спасибо!
  • 0

#2 owasp

owasp

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

  • Members
  • PipPip
  • 87 сообщений

Отправлено 08 апреля 2013 - 20:57

Для вкладок нельзя указать свой proxy. Proxy задаётся один на весь браузер. Кроме того, одновременно можно работать только с одной вкладкой браузера перед началом работы с другой вкладкой, нужно переключиться на неё. Таким образом, в рамках одного браузера нельзя сделать параллельное тестирование. Нужно запускать несколько тестов сразу (каждый тест будет открывать свой браузер).
Одновременно запустить множество Selenium возможно. Про "Параллельный Selenium" частично описано в статье "Тестирование в Mail.Ru Group": http://habrahabr.ru/...ru/blog/165877/
Цитата из статьи:

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

Мы решили проблемы параллельной работы тестов на одной ноде, внеся исправления в Java и C++ код самого Selenium. Мы добавили блокировки на выполнение однопоточных действий, переключение фокуса окна перед теми действиями, которым оно необходимо. Также мы почининили многопоточность upload’а файлов в IE, и добавили эту функцию для Opera. На момент написания статьи все эти исправления работают с версией Selenium 2.26.

Предвосхищая возможный вопрос, хочу сказать, что мы очень хотим, чтобы наши исправления стали частью официального Selenium. Мы выкладывали наши патчи на github (например, в https://github.com/wladich/operadriver) и пересылали их разработчикам. Однако, в силу различных причин, ни один из патчей в полной мере пока еще не стал частью Selenium, хотя мы видим часть наших строк в коде последних версий Selenium. Самая свежая порция наших исправлений пока еще не открывалась, и мы будем рады, если у разработчиков Selenium есть интерес к ней.


Selenium.WebDriver для Firefox во многом зависит от своей C++ реализации firefox.dll (кстати, многие считают, что Selenium написан на Java, прямо, только на Java, и в Wikipedia также написано - а это не так). И раз сказано, что Mail.ru патчили C++, то и работа с Firefox, вероятно, не идеальна, с точки зрения многопоточности.
  • 0


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

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