По сути, вам нужна программа, которую вы можете запустить из командной строки, которую GoCD может вызвать для вас как часть тестового задания / задания / этапа.
Затем вам нужен агент GoCD со всем необходимым программным обеспечением и выполните эту команду. (Или создайте образ докера со всем необходимым программным обеспечением и запустите тесты в этой команде).
Одной из распространенных проблем является то, что селен автоматизирует браузеры, и браузеры, как правило, хотят иметь среду отображения, а GoCD имеет тенденцию работать на серверах без какого-либо графического интерфейса.
В Linux есть инструмент под названием Xvfb
, который предоставляет виртуальный X-сервер, который заставляет браузер думать, что есть графический интерфейс.
Это небольшой скрипт bash, который мы запускаем перед началом тестов Selenium:
#!/bin/bash
DISPLAY=":99"
# The last one wins
killall -q Xvfb
# Start virtual x-server.
Xvfb -ac :99 -screen 0 1280x1024x16 > x11.log 2>&1 &
XSERVER_PID=$!
sleep 5
kill -0 $XSERVER_PID
if [ $? -gt 0 ]; then
echo "cannot start Xvfb"
exit 1
fi
# Start VNC server for watching the test runs and debugging problems.
x11vnc --listen 0.0.0.0 -rfbport 5900 -display :99 -forever >> x11.log 2>&1 &
export DISPLAY=:99
# Window manager for enabling resize of browser window.
fvwm >> x11.log 2>&1 &
Обратите внимание, что при этом также запускается облегченный оконный менеджер (fvwm) для включения тестов, изменяющих размер окон браузера.