Selenium RC测试(PHPUnit)

时间:2011-08-24 09:03:03

标签: firefox selenium-rc centos

使用Centos,Apache,PHPUnit,Selenium RC,

我正在尝试测试在我的一台服务器上运行的selenium RC。

  

java -jar selenium-server-standalone-2.4.0.jar

最初我得到了firefox创建配置文件的错误,它没有加载任何东西并给出错误。

其次,我尝试使用给定的个人资料位置。

  

java -jar selenium-server-standalone-2.4.0.jar -firefoxProfileTemplate   “/root/.mozilla/firefox/”&

仍显示错误

  

错误 - 无法启动新的浏览器会话,关闭浏览器和   清除所有会话数据

信息 - 得到的结果:无法启动新的浏览器会话:在会话空启动浏览器时出错

请分享您的观点可能是什么问题, 运行Mock,它正在运行,出于测试目的,但是firefox,无法在浏览器会话中休息。

注意:它不是GUI模式(NO X),它有firefox版本3.6.18,

09:48:20.312 INFO - Got result: Failed to start new browser session: Error while launching browser on session null
09:48:39.659 INFO - Command request: getNewBrowserSession[*firefox3, http://google.co.uk] on session null
09:48:39.659 INFO - creating new remote session
09:48:39.660 INFO - Allocated session 17b9149077f648d3bc89b3f106466c6c for http://google.co.uk, launching...
09:48:39.860 INFO - Preparing Firefox profile...
09:49:00.017 ERROR - 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)
        at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launch(FirefoxChromeLauncher.java:83)
        at org.openqa.selenium.server.browserlaunchers.FirefoxChromeLauncher.launchRemoteSession(FirefoxChromeLauncher.java:412)
        at org.openqa.selenium.server.BrowserSessionFactory.createNewRemoteSession(BrowserSessionFactory.java:375)
        at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:125)
        at org.openqa.selenium.server.BrowserSessionFactory.getNewBrowserSession(BrowserSessionFactory.java:87)
        at org.openqa.selenium.server.SeleniumDriverResourceHandler.getNewBrowserSession(SeleniumDriverResourceHandler.java:785)
        at org.openqa.selenium.server.SeleniumDriverResourceHandler.doCommand(SeleniumDriverResourceHandler.java:422)
        at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleCommandRequest(SeleniumDriverResourceHandler.java:393)
        at org.openqa.selenium.server.SeleniumDriverResourceHandler.handle(SeleniumDriverResourceHandler.java:146)
        at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1530)
        at org.openqa.jetty.http.HttpContext.handle(HttpContext.java:1482)
        at org.openqa.jetty.http.HttpServer.service(HttpServer.java:909)
        at org.openqa.jetty.http.HttpConnection.service(HttpConnection.java:820)
        at org.openqa.jetty.http.HttpConnection.handleNext(HttpConnection.java:986)
        at org.openqa.jetty.http.HttpConnection.handle(HttpConnection.java:837)
        at org.openqa.jetty.http.SocketListener.handleConnection(SocketListener.java:243)
        at org.openqa.jetty.util.ThreadedServer.handle(ThreadedServer.java:357)
        at org.openqa.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
09:49:00.048 INFO - Got result: Failed to start new browser session: Error while launching browser on session null

2 个答案:

答案 0 :(得分:3)

经过一整天的研究,我得到了解决方案,如果是这样的话,这可能对大家有用..

如果有任何问题:由于显示问题,您可能会遇到一些问题,例如firefox配置文件和firefox午餐,以及无法加载。

Firefox配置文件问题:如果您在给定的计算机中没有,则从另一台计算机复制并粘贴。 Firefox Lunching问题:在null上没有会话: yum install xorg-x11-Xvfb&& Xvfb:99 -ac&& export DISPLAY =:99&&火狐 如果您发现有关xvfb:99的任何问题,可能必须删除锁定文件。

服务器已激活显示99 如果此服务器不再运行,删除/tmp/.X99-lock 然后重新开始。

Firefox应该没有错误地启动,并保持运行(直到你用Control-C杀死它)

答案 1 :(得分:1)

它不断给我同样的错误(错误 - 无法启动新的浏览器会话,关闭浏览器并清除所有会话数据),无论我做了什么。我在安装了firefox的linux机器上运行Selenium,我试图无头地运行它。

以下是我如何解决问题:
1.安装xvfb(虚拟显示管理器)及其依赖项

  

sudo apt-get install xvfb   sudo apt-get apt-get install libgl1-mesa-dri xfonts-cyrillic xfonts-100dpi xfonts-75dpi

2.像这样运行xvfb

  

sudo Xvfb:99 -ac

这应该让它在display:99上运行。你会看到一些输出

3.打开一个新终端并输入。

  

export DISPLAY =:99
  java -jar selenium-server-standalone-2.37.0.jar

这会将显示设置为:99。因此,从该终端窗口打开的任何需要使用显示的内容都将在xvfb管理的虚拟显示器(不可见)上打开。第二行启动selenium服务器,由于selenium将尝试启动firefox,它将在这个不可见的显示器上启动它。

然后运行您的测试。这应该得到测试设置,浏览器将不可见。