将GOCD与Selenium BDD框架一起使用



我使用Selenium和Java开发了BDD黄瓜测试框架。我们的开发操作使用 GOCD 作为 CI CD 工具,所以我需要将框架与 GOCD 集成。我已经多次将Selenium框架与Jenkins集成在一起,但这是我第一次使用GOCD。我试图寻找插件,但没有找到任何插件,也没有找到任何博客或任何支持的帮助。

有什么方法可以将硒框架与GOCD集成,以便它可以在管道中使用?

基本上,您需要在命令行上运行的程序,GoCD可以作为测试任务/作业/阶段的一部分为您调用该程序。

然后,您需要一个安装了所有必要软件的 GoCD 代理,并运行该命令。(或者有一个包含所有必要软件的 docker 映像,并在该命令中运行测试(。

一个常见的问题是Selenium自动化浏览器,浏览器往往希望有一个显示环境,而GoCD倾向于在没有任何GUI的服务器上运行。

在Linux上,有一个名为Xvfb的工具,它提供了一个虚拟X服务器,诱使浏览器认为有一个GUI。

这是我们在开始 Selenium 测试之前运行的一个小 bash 脚本:

#!/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( 以启用调整浏览器窗口大小的测试。

相关内容

最新更新