Grails,Geb,Selenium w / Chrome:无法连接?

时间:2012-10-24 21:14:24

标签: grails selenium-webdriver geb

问题

当我使用Chrome驱动程序运行时,我的selenium功能测试失败,但在使用Firefox时有效。

我的环境

  1. Mac OS X Mountain Lion
  2. Chrome版本22.0.1229.94
  3. 构建信息:版本:'2.2.1',修订版:'16551',时间:'2012-04-11 21:42:35'
  4. 系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10 .8.2',java.version:'1.6.0_35' 驱动程序信息:driver.version:ChromeDriver
  5. 重现步骤

    使用Geb Grails example application from github时会发生异常。

    使用Chrome驱动程序运行应用程序:

    grails -Dgeb.env=chrome test-app
    

    测试将开始运行,Chrome的一个实例已成功打开,但事后没有任何反应。 Chrome浏览器没有定向到网址,它只是坐在那里,脸上带着傻笑。在15秒(左右)超时后,控制台中会抛出以下错误。

    错误

    Caused by: org.openqa.selenium.WebDriverException: Unable to either launch or connect to Chrome. 
    Please check that ChromeDriver is up-to-date. Using Chrome binary 
    at: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome 
    

    我的调试步骤

    1. Per this stackoverflow post,我尝试了各种不同版本的驱动程序。
    2. 使用Firefox驱动程序时测试成功(遗憾的是,我必须使用Chrome测试)。
    3. 尝试使用最新的测试版Version 23.0.1271.40 beta。没有运气。
    4. 将测试应用中的geb和selenium版本升级到最新版本:def gebVersion = "0.7.2" def seleniumVersion = "2.25.0"
    5. 谦虚感谢部分

      谢谢你看看这个。我喜欢采用geb,但迄今为止它是一场艰苦的战斗。

2 个答案:

答案 0 :(得分:2)

可能是一个愚蠢的答案,但你安装了Chrome驱动程序吗? http://code.google.com/p/selenium/wiki/ChromeDriver

对于Firefox,您不需要安装驱动程序,但对于Chrome和IE,您可以这样做。这可能就是为什么你的测试使用FF而不是chrome运行的原因。

祝你好运!

答案 1 :(得分:0)

我不确定它是否与Geb相关,我认为当您使用WebDriver Chrome Driver运行测试时,您会得到类似的行为。

当Chrome不在路径上时,我看到了这些错误。 chrome.binary应该始终是实际可执行文件的绝对路径。对于mac,这通常看起来像: / Applications / Google Chrome.app/Contents/MacOS/Google Chrome

您使用的是哪种版本的Selenium / WebDriver?