Сквозное тестирование на безголовом сервере

Я пытаюсь настроить среду для сквозного тестирования на дроплете с сервером Ubuntu 12.04.3 в цифровом океане.

В конце концов я пытаюсь добиться того, чтобы мои jenkins (установленные на одной капле) могли запускать мои сквозные тесты. Теперь сервер, конечно же, безголовый, и сквозные тесты необходимо запускать через браузер (я использую транспортир с автономным сервером selenium с chromedriver).

У меня вопрос: как создать браузер на этом компьютере? Я установил xorg, и если я сделаю startx на сервере, выйду из системы и ssh -X зайду на него, я смогу вручную запустить сквозные тесты (на моем локальном компьютере появится всплывающее окно браузера). Но я могу заставить его работать без ssh -X, и поскольку jenkins находится в той же капле, где должны запускаться тесты. Ну, у меня не запускается браузер.

ПРИМЕЧАНИЕ. Я знаю, что могу упустить здесь что-то действительно тривиальное, поскольку я не полностью понимаю ни конфигурацию, ни файл xorg.

Любые подсказки или полный ответ очень ценятся, это дает мне седые волосы.

Редактировать: после небольшого копания я думаю, что немного ошибся в xorg, я предполагаю, что цель X - иметь возможность создавать окно на удаленной машине (т.е. на моей локальной машине). И то, что мне нужно, больше похоже на виртуальный буфер кадров, такой как Xvfb...


person hanto899    schedule 31.03.2014    source источник
comment
Я хочу сделать что-то очень похожее с Дженкинсом. Если вы в конечном итоге узнаете какие-либо советы, я хотел бы услышать о них.   -  person robert.bo.roth    schedule 02.04.2014


Ответы (2)


Есть PhantomJS, но с Protractor глючит и тупик.

Вы по-прежнему можете использовать Chrome и Firefox без заголовка через docker-selenium или, если вам не нравится Docker вы можете сделать это самостоятельно с помощью ubuntu-headless. Оба решения предоставляют Chrome и Firefox с помощью Xvfb, хотя настоящего DISPLAY нет.

ОБНОВЛЕНИЕ 2 Кажется возможным запустить Xvfb в OSX: http://xquartz.macosforge.org/landing/

ОБНОВЛЕНИЕ 1 Безголовое решение Mac OSX selenium:

Включить многопользовательский удаленный доступ к рабочему столу на компьютере OSX

Так что можете протестировать селен без головы на Mac. На самом деле не без головы, а как другой пользователь, поэтому он не мешает вашему текущему дисплею пользователя. Для этого вам понадобится кикстарт: http://support.apple.com/en-us/HT201710 Начните использовать утилиту кикстарта

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

Активируйте общий доступ к удаленному рабочему столу, включите права доступа для всех пользователей и перезапустите агент ARD:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all 
Apple Remote Desktop 3.2 or later only

Разрешить доступ для всех пользователей и предоставить всем пользователям полный доступ

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all

Команда справки кикстарта

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help
person Leo Gallucci    schedule 04.05.2014

Многие приложения angular используют Travis CI для выполнения сквозных интеграционных тестов на основе Protractor на безголовых виртуальных машинах во всех время. Я не знаю подробностей того, как именно они это делают, но я знаю, что они используют службу Linux под названием xvfb, который представляет собой безголовую реализацию x windows. Глядя на типичный файл конфигурации Travis, кажется, что все, что они делают перед запуском своего веб-сервера, сервера selenium и запуском Protractor, — это вызывают sh -e /etc/init.d/xvfb start для запуска этой службы.

person Kenneth Baltrinic    schedule 03.05.2014