通过SSH运行测试NG Selenium测试

时间:2013-04-10 15:08:19

标签: selenium ssh testng bamboo

我有一台服务器A,它有eclipse,testNG,selenium和设置的东西。我有另一台服务器B,上面有Bamboo设置。

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

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

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

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

安装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 & < / p>

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

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


要退出当前屏幕窗口,只需点击“Ctrl + A”然后点击“D”,然后返回screen -r类型。

答案 1 :(得分:0)

以下是您的选择吗?

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

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

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

答案 2 :(得分:0)

尝试将DISPLAY环境变量设置为&#34;:0&#34; (或者您机器上的显示器 - 您可以通过GUI启动终端并运行&#34; echo $ DISPLAY&#34;)进行检查。我可以使用以下命令在ssh上启动firefox:

ssh somehost&#34; env DISPLAY =:0 firefox&#34;

但严重的是,我是第二个patrungel的建议 - 使用selenium grid / rc。它专为此类事物而设计。