【问题标题】:Having trouble launching Google Chrome through Selenium RC server on Ubuntu在 Ubuntu 上通过 Selenium RC 服务器启动 Google Chrome 时遇到问题
【发布时间】:2011-08-23 16:08:58
【问题描述】:

我在 Ubuntu 11.04 上运行 Selenium RC 服务器 2.0b3。我安装了谷歌浏览器并试图对其进行一些测试。我能够很好地针对 Firefox 运行测试。但是,当我对 Selenium 服务器运行测试时,它只是挂起然后超时。这是所有服务器日志报告(注意空会话):

16:14:16.810 INFO - Command request: getNewBrowserSession[*googlechrome, http://mydomain.com, ] on session null
16:14:16.810 INFO - creating new remote session
16:14:16.811 INFO - Allocated session 6913c9613c554db798e109eadefd43da for http://mydomain.com, launching...
16:14:16.811 INFO - Launching Google Chrome...
16:19:44.776 ERROR - Failed to start new browser session, shutdown browser and clear all session data
org.openqa.selenium.server.RemoteCommandException: timed out waiting for window 'null' to appear
    at org.openqa.selenium.server.FrameGroupCommandQueueSet.waitForLoad(FrameGroupCommandQueueSet.java:564)
    at org.openqa.selenium.server.FrameGroupCommandQueueSet.waitForLoad(FrameGroupCommandQueueSet.java:521)
    at org.openqa.selenium.server.BrowserSessionFactory.createNewRemoteSession(BrowserSessionFactory.java:374)
    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)
16:19:44.777 INFO - Killing Google Chrome...
16:19:44.777 INFO - Got result: Failed to start new browser session: Error while launching browser on session null

我在系统启动时将 Selenium 作为服务启动,就像这样......

start() {
    log_daemon_msg "Starting selenium-server server: "
    /usr/bin/Xvfb :15 -ac -screen 0 1024x768x8 &
    export DISPLAY=localhost:15.0
    su selenium -c 'java -jar /opt/selenium/selenium-server-standalone-2.0b3.jar -userExtensions /opt/selenium/user-extensions.js > /var/log/se_rc_server.log 2>&1 &'
    PID=$!
    ### Create the lock file ###
    echo $PID > /var/run/selenium-server.pid
    echo

有什么想法可以消除 Google Chrome 的空会话并让我的测试运行吗?谢谢, - 戴夫

【问题讨论】:

  • 你能分享你的测试代码吗?连接到 selenium 服务器的那个?
  • 您在/usr/bin/google-chrome 或其他地方有google-chrome 吗?

标签: google-chrome selenium selenium-rc


【解决方案1】:

您遇到了 Chrome 的安全限制。您需要在 BrowserConfigurationOptions 中将“mode”值设置为“disableSecurity”以禁用它们。

【讨论】:

  • 你是怎么做到的?我尝试创建一个内容为“chromium-browser --disable-web-security”的“/usr/bin/google-chrome”文件,但这不起作用。
  • 我不知道您使用的是什么语言,但在 Java 中您会调用 set() 方法。以下是 JavaDocs(适应您使用的任何语言都应该很简单):selenium.googlecode.com/svn/trunk/docs/api/java/com/…
  • 您的建议是否等同于使用“--disable-web-security”选项启动 Google Chrome / Chromium?我正在使用 HttpCommandProcessor 类发送命令 (release.seleniumhq.org/selenium-remote-control/0.9.0/doc/java/…),它不包含 BrowserConfiguration 选项,所以我正在寻找另一种方法来做同样的事情。
猜你喜欢
  • 2017-04-13
  • 2011-12-07
  • 2017-06-24
  • 2017-03-12
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多