【发布时间】:2013-10-25 09:34:04
【问题描述】:
我试图使用 Spock(Grails 应用程序)自动化一些功能测试,但我无法弄清楚如何自动化以下操作: 我需要能够登录到一个 Web 应用程序并单击一个链接(从 Web 应用程序)并打开一个新的浏览器窗口并登录到第二个应用程序(因为他们共享用户凭据 - 他们使用 SSO)。我需要测试的所有功能都在第二个网络应用程序上,并且没有直接登录到该应用程序。
我想知道是否有办法在网络应用程序之间使用当前浏览器会话(并共享 cookie)。
我会很感激任何想法。
找到答案
我设法找到了我的查询的答案。正如下面我的 cmets 中提到的,我使用 withNewWindow() 方法如下:
withNewWindow({ AnchorForNewPage.click()}){ 断言在(新页面) 做一点事 和别的东西 } 确保您在第二页上执行的所有操作都在此闭包内,否则测试将失败。
【问题讨论】:
-
使用geb 进行功能测试。
-
我之前的所有测试都参考了 Geb,但找不到此查询的答案。我正在尝试使用下面的webdriver的方法,让我们看看它是怎么回事:pageWillChange(Browser browser, Page oldPage, Page newPage) --- interface PageChangeListener
-
任何人都可以对此有所了解。 Geb 仍然没有运气..