当前位置: 首页 > 知识库问答 >
问题:

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

那存
2023-03-14

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

  1. Mac OS X山狮
  2. Chrome版本22.0.1229.94
  3. 构建信息:版本:“2.2.1”,修订版:“16551”,时间:“2012-04-11 21:42:35”
  4. 系统信息:os。名称:“Mac OS X”,操作系统。拱门:“x86_64”,操作系统。版本:“10.8.2”,java。版本:“1.6.0_35”驱动程序信息:驱动程序。版本: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 
  1. 根据这篇stackoverflow文章,我尝试了不同版本的驱动程序,但没有效果。
  2. 使用Firefox驱动时测试成功(很遗憾,我必须用Chrome测试)。
  3. 尝试使用chrome最新的beta版本23.0.1271.40beta.没有运气。
  4. 将测试应用程序中的geb和selenium版本升级到最新和最大:def gebVersion="0.7.2"def seleniumVersion="2.25.0"

谢谢你看这个。我很想收养geb,但到目前为止这是一场艰苦的战斗。

共有2个答案

归翔
2023-03-14

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

当Chrome不在应用程序中时,我看到过这种错误。铬。二进制文件应该始终是实际可执行文件的绝对路径。对于mac,这通常看起来像:/Applications/Google Chrome。app/Contents/MacOS/Google-Chrome

您使用的是什么版本的Selenium/WebDriver?

邬宏扬
2023-03-14

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

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

祝你好运!

 类似资料:
  • 我正在开发Grails应用程序,目标是Grails Mongo插件。当我使用run-app命令在本地运行应用程序时,一切正常,应用程序打开了2个到Mongo实例的连接。 但是当我将应用程序打包到war文件并将其部署到远程Tomcat服务器时,启动应用程序的行为变得非常奇怪。 以下是启动日志: 所以,在启动过程中,应用程序尝试在单独的Java线程中获取MongoConnection,但失败了,但没有

  • 我的grails 2.1.0应用程序是在cloudfoundry中部署和运行的,使用mysql服务,昨天我做了一些更改,更新后无法再次运行。我没有对数据源进行任何更改。 通过查看tomcat日志,看起来数据库设置在部署时没有被覆盖,如文档中所述,并且存在一个异常消息“无法为连接URL“JDBC:h2:prodDb;MVCC=TRUE”创建类为“com.mysql.JDBC.driver”的JDBC

  • 在将Grails版本从2.3.6升级到2.4.5之后,我现在在运行Geb Spock测试时遇到了一个异常。 我记得在Grails 2.3.6中最初设置Geb时遇到过这个异常,其中BuildConfig和GebConfig文件没有正确配置。然而,在重新检查Geb所需的必要插件和依赖项时,我没有注意到Grails 2.4.5有任何不同。此外,我将依赖项解析从Ivy切换到Maven,因此我再次检查Mav

  • Geb

    Geb 是浏览器自动化(browser automation)测试解決方案。 它以强大的 WebDriver 为基础,搭配优雅的 jQuery 选择器,健壮的 Page Object 模型,以及富于表现力的 Groovy 语言。 可以简单的做为程序脚本运行,也可以无缝整合 Spock、 JUnit或 TestNG 等测试框架进行功能测试、web测试和验收测试。 代码示例: import geb.B

  • 有什么想法吗?

  • 我正在用Geb(0.12.2)和Spock定义一些规范来测试我的前端。我的应用程序的登录系统依赖于我们内部IDP的SSO。一旦我进入我的应用程序的私人部分,如果以前没有在我们的IDP中登录,它将重定向到IDP主页,然后登录并重定向到您最初询问的私人URL。 注销。 删除IDP设置的cookie。 我希望初始化每一个GebSpec类,而不需要任何以前的cookie或以前GebSpec执行中的状态,并