【问题标题】:Using GOCD with Selenium BDD framework将 GOCD 与 Selenium BDD 框架一起使用
【发布时间】:2019-10-26 19:59:50
【问题描述】:

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

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

【问题讨论】:

    标签: selenium selenium-webdriver cucumber cucumber-java go-cd


    【解决方案1】:

    基本上,您需要有可以在命令行上运行的程序,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) 以启用调整浏览器窗口大小的测试。

    【讨论】:

    • 感谢您的回复...这是否意味着我应该选择其他自动化测试工具??如果是,那么您推荐哪种工具???或者我会在使用任何自动化测试工具时遇到这个问题吗??
    • 我不认为使用其他工具会更好,但我的经验并不丰富。
    • mortiz 的答案是正确的:有一个脚本启动你的 selenium 命令,并配置 goCD 来调用它。但是现在有一段时间,Selenium 可以在没有显示的情况下通过无头 webdriver 使用。无需运行显示服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2012-03-01
    相关资源
    最近更新 更多