【问题标题】:Running Test NG Selenium Tests Through SSH通过 SSH 运行测试 NG Selenium 测试
【发布时间】:2013-04-02 12:30:01
【问题描述】:

我有一个服务器 A,上面设置了 eclipse、testNG、selenium 和其他东西。我有另一台服务器 B,上面安装了 Bamboo。

我能够在服务器 A 上运行一个 testNG 脚本,该脚本在我正在开发的 Web 应用程序上运行一组 selenium 测试。我使用 eclipse 中显示的 vm 属性中的 java 命令通过 Bamboo 在服务器 B 上创建 ssh 任务。

但是,它似乎只是坐在那里,从未真正完成 Bamboo 中的工作。

我尝试从另一台笔记本电脑 ssh 到服务器 A,并运行了相同的命令。我没有收到任何错误消息或任何东西,但系统似乎只是冻结了。

我该如何解决这个问题?

【问题讨论】:

    标签: selenium ssh testng bamboo


    【解决方案1】:

    以下选项适合您吗?

    主机 A:浏览器和 selenium-rc 始终运行并监听任何 (4444) 端口; 主机 B:有 TestNG + 构建作业,并且有指向主机 A 的 selenium-rc 的测试。

    这是 selenium 和 ci 在不同主机上运行的常规设置。

    如果服务器 A 运行 linux/unix,那么仅 ssh-ing 并启动浏览器(使用 selenium 最终会导致它尝试启动浏览器)将不会成功。

    【讨论】:

      【解决方案2】:

      尝试将 DISPLAY 环境变量设置为“:0”(或您机器上的任何显示器——您可以通过 GUI 启动终端并运行“echo $DISPLAY”来检查)。我可以使用以下命令通过 ssh 启动 Firefox:

      ssh somehost "env DISPLAY=:0 firefox"

      但是说真的,我赞同 patrungel 的建议——使用 selenium grid / rc。它是为这种事情而设计的。

      【讨论】:

        【解决方案3】:

        安装 Xvfb,它会伪装成监视器,但不会出现在任何地方。
        sudo apt-get install xvfb.

        如果您想减少错误,请添加这些字体,但这些警告并不重要。
        sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

        然后开始运行并将您的显示设置为系统不会使用的内容。这就是我所做的,记住& 使终端在后台运行一些东西。
        Xvfb :99 -ac &
        export DISPLAY=:99
        firefox &

        当我退出 ssh 终端时,我还遇到了 ruby​​ on rails 服务器断开连接的问题。要解决该问题,请使用 Screen。 Screen 在不受 ssh 影响的情况下运行另一个终端。
        sudo apt-get install screen

        然后在执行上述操作之前先启动屏幕。
        screen


        要退出当前屏幕窗口,只需单击“Ctrl + A”,然后单击“D”并返回输入screen -r

        【讨论】:

          猜你喜欢
          • 2011-04-28
          • 1970-01-01
          • 2015-03-12
          • 2010-12-26
          • 2013-03-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-23
          相关资源
          最近更新 更多