Selenium在本地启动时工作,但不是远程启动

时间:2018-04-27 01:28:15

标签: selenium jenkins selenium-chromedriver codeception supervisord

我希望这是一个需要解决的简单问题:

我有一台专用的机器,用chromedriver运行硒。我可以走到机器并在本地终端输入以下内容:

java -Dwebdriver.chrome.driver=chromedriver238 -jar selenium-server-3.11.jar

然后我可以去网络上的任何其他机器并开始测试(在我的情况下,jenkins上的代码)并且它将成功运行我的测试,并且没有任何障碍。

但是,如果我尝试运行上述命令而不是物理上在selenium机器上(例如,尝试ssh进入机器运行命令或使该命令作为管理程序进程运行),那么selenium无法启动铬的实例。

之前有没有人遇到这种情况?有没有办法让我可以对后台脚本进行“交互式”访问以允许它在我的屏幕上打开内容?

2 个答案:

答案 0 :(得分:1)

因为当你身体走到机器并运行命令时。 selenium可以获得桌面/窗口界面。

当使用SSH时,selenium丢失了桌面/窗口界面,selenium必须在无头模型下启动chrome,但是你的代码不配置为无头模型运行。所以冲突就出来了。

您需要将代码配置为使用无头模型运行。

答案 1 :(得分:0)

我将遇到相同的情况,当我尝试在机器A上启动Selenium代码时,当我尝试启动Selenium并从机器B运行脚本时它仍然有效 (使用ssh [ssh test @ machine-a]远程连接到计算机A)chrome实例无法启动/启动,并且驱动程序变为空。

日志:

2020-02-27 12:04:27,319信息[LogWritter] beforeclass chrome驱动程序实例化异常,驱动程序为空

2020-02-27 12:04:27,493信息[LogWritter]获取屏幕截图时发生异常--- java.awt.AWTException:无头环境

任何帮助/建议都很棒!