Использование GOCD с каркасом Selenium BDD - PullRequest
1 голос
/ 12 июня 2019

Я разработал среду тестирования BDD на огурец с использованием Selenium и Java. Наши разработчики используют GOCD в качестве инструмента CI CD, поэтому мне нужно интегрировать фреймворк с GOCD. Я интегрировал фреймворк селена с Дженкинсом много раз, но это мой первый раз с GOCD. Я пытался найти плагин, но не нашел никакой помощи в блогах и поддержке.

Можно ли как-нибудь интегрировать фреймворк селена с GOCD, чтобы его можно было использовать в конвейере?

1 Ответ

0 голосов
/ 12 июня 2019

По сути, вам нужна программа, которую вы можете запустить из командной строки, которую 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) для включения тестов, изменяющих размер окон браузера.

...