我正在尝试设置一个linux盒子(没有连接显示器)作为selenium服务器运行。如果我连接显示器并登录盒子,那么我可以运行硒测试没问题。如果我尝试通过ssh运行测试,那么测试将失败
Failed to start new browser session, shutdown browser and clear all session data
java.lang.RuntimeException: Timed out waiting for profile to be created!
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.waitForFullProfileToBeCreated(FirefoxChromeLauncher.java:360)
at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.populateCustomProfileDirectory(FirefoxChromeLauncher.java:114)
我认为这与显示器的缺席/存在有关。有什么想法吗?
PS浏览器是firefox 5,操作系统是Ubuntu 11.04答案 0 :(得分:11)
我使用xvfb让它工作。所以先安装xvfb:
sudo apt-get install xvfb
然后运行它
Xvfb :99 -ac
然后启动selenium服务器
DISPLAY=:99 java -jar selenium-server-standalone-2.4.0.jar
答案 1 :(得分:0)
你得到这个错误,因为没有监视器打开firefox,它会变得混乱。
安装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终端时,我在rails服务器断开连接时遇到问题。要解决该问题,请使用Screen。屏幕运行另一个终端而不受ssh的影响。
sudo apt-get install screen
然后在你执行上述操作之前先启动屏幕。
screen
要离开当前屏幕窗口,只需点击“Ctrl + A”然后返回类型屏幕-r。
答案 2 :(得分:0)
有一种很好的方法可以使用imagemagick屏幕拍摄进行测试
安装mozilla firefox无头(无GUI)
yum install xorg-x11-server-Xvfb.x86_64 xfonts-base xfonts-75dpi xfonts-100dpi firefox ImageMagick.x86_64
在虚拟gui上启动firefox
DISPLAY=:1 firefox http://google.com &
- 测试并检查
Xvfb :1 -screen 1 1024x768x24 &
ps -ef |grep firefox
使用imagemagic获取打印屏幕,以确保其正常工作。 DISPLAY =:1 import -window root google.com.png
(可选)在firefox配置文件中设置代理
vi /root/.mozilla/firefox/ns11i9xo.default/prefs.js
user_pref(“network.proxy.http”, “proxyserver”);
user_pref(“network.proxy.http_port”, 8080);
user_pref(“network.proxy.no_proxies_on”, “localhost, 127.0.0.1, 172.17.0.0/16, 10.5.0.0/16″);