问题
当我使用 Chrome 驱动程序运行时,我的 selenium 功能测试失败,但在使用 Firefox 时有效。
我的环境
- Mac OS X 山狮
- Chrome 版本 22.0.1229.94
- 构建信息:版本:'2.2.1',修订:'16551',时间:'2012-04-11 21:42:35'
- 系统信息:os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.8.2',java.version:'1.6.0_35' 驱动程序信息:driver.version:ChromeDriver
重现步骤
使用来自 github 的 Geb Grails 示例应用程序时会发生异常。
使用 Chrome 驱动程序运行应用程序:
grails -Dgeb.env=chrome test-app
测试将开始运行,Chrome 实例成功打开,但之后没有任何反应。Chrome 浏览器并没有定向到一个 url,它只是坐在那儿,脸上带着傻笑。在 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
我的调试步骤
- 根据这个 stackoverflow 帖子,我尝试了各种不同版本的驱动程序,但没有任何效果。
- 使用 Firefox 驱动程序时测试成功(遗憾的是,我必须使用 Chrome 进行测试)。
- 尝试使用最新的 chrome 测试版
Version 23.0.1271.40 beta
。没运气。 - 将测试应用程序中的 geb 和 selenium 版本升级到最新和最好的:
def gebVersion = "0.7.2" def seleniumVersion = "2.25.0"
谦虚的感谢部分
谢谢你看看这个。我很想采用geb,但迄今为止这是一场艰苦的战斗。