Пакеты NodeJS для обработки параллельных безголовых тестов в linux box (ах) с функциями, подобными selenium grid?

#node.js #selenium-rc #npm #xvfb

#node.js #selenium-rc #npm #xvfb

Вопрос:

Мне нужно обработать аутентифицированных нескольких пользователей, выполняющих параллельные тесты на автономном сервере selenium, и обнаружил два клиента webdriver на nodejs. Есть webdriver-js и wd-js. Что является более активным и надежным? Есть опыт? Я немного обеспокоен тем, что они выходят из строя, когда node или selenium обновляют или удаляют функции.

Я не думаю, что в каком-либо из этих пакетов упоминается автоматический запуск Xvfb с уникальным отображаемым номером для каждого теста. Итак, запустите команды оболочки для запуска xvfb перед запуском браузера?

Следующий процесс — это то, что я пытаюсь встроить в nodejs (по сути, это похоже на Grid 2, но с целью непрерывной интеграции запущенных тестов nodejs) и ищу любые пакеты или предложения для любой из следующих частей.

  1. Сначала аутентифицируйте пользователя (пользователей), используя постоянное двунаправленное соединение (WebSockets или HTTP 1.1)

  2. Запуск / очередь тестов, запрошенных пользователем для запуска на доступных аппаратных узлах (я добавлю больше Linux-блоков, поэтому нужен пакет для распространения параллельных тестов по «сетке»)

  3. Отслеживайте запущенные тесты браузера selenium и отправляйте обновления статуса клиента (например, запущено / остановлено)

  4. Тесты, отправляемые пользователями, должны быть постоянными и доступными для будущей или непрерывной интеграции (couchdb или mysql)

  5. Планирование заданий, которые будут выполняться на постоянной основе (например, запускаться через каждый установленный интервал времени).

Не является ли nodejs излишеством? должен ли я сосредоточиться на Java только для обратной стороны?

Ответ №1:

https://github.com/LearnBoost/soda

Это для интеграции vanilla Sauce Labs / Selenium RC. Я бы предположил, что когда вы работаете в экземпляре браузера, таком как Selenium RC, websockets должны просто работать, поскольку выполняется javascript на странице. Если вы аутентифицируете пользователя, вы хотите просто заполнить любую форму и отправить (которая запускает вашу WS auth) как обычно.

Я не думаю, что nodejs является излишеством для этого. Узел легкий. Я не знаю, стал бы я добавлять node в свой стек ТОЛЬКО для этого, но это, безусловно, удобно, и если у вас есть приверженность javascript, в этом нет ничего страшного.