如何 运行 在远程服务器上使用 selenium 进行代码接收验收测试

how to run codeception acceptance testing with selenium on remote server

我的 phpunit 有一个测试服务器,现在我们想用 selenium 添加我们的代码接收验收测试。

但由于您的远程服务器没有 "desktop",因此它不会像我们开发人员的计算机那样打开浏览器。

我尝试在机器上安装 firefox,但仍然出现此错误:

Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: LINUX      
Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37'                  
System info: host: 'testdev', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version:   
'3.2.0-23-generic', java.version: '1.7.0_65'                                                     
Driver info: driver.version: FirefoxDriver   

所以现在我这样做了

  WebDriver:
         url: 'http://example.com/'
         browser: firefox
         capabilities:
              binary: "/usr/bin/firefox"

我得到这个错误:

Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:  
  Error: no display specified                                                               
  Error: no display specified   

我在做什么可能吗?

或者我必须有一个 "screen"?

为了将 Selenium 与 Firefox 或 Chrome 等一起使用 - 您需要一个具有用户界面的 linux 发行版。

如果您使用的 linux 机器没有显示器(又名,只是一个终端),那么您可以研究 Selenium HTMLUnit(无头浏览)。

您可以通过 PHPBrowser 进行无头浏览,或者您可以安装像 xfce4 vnc4server 这样的 GUI,这将为您提供 运行 Firefox 的虚拟桌面。这有额外的好处,您可以观看以图形方式测试 运行。