我试图使用 Spock(Grails 应用程序)自动化一些功能测试,但我无法弄清楚如何自动化以下操作:我需要能够登录到一个 Web 应用程序并单击一个链接(来自 Web 应用程序) 并打开一个新的浏览器窗口并登录到第二个应用程序(因为它们共享用户凭据 - 他们使用 SSO)。我需要测试的所有功能都在第二个网络应用程序上,并且没有直接登录到该应用程序。
我想知道是否有办法在 Web 应用程序之间使用当前浏览器会话(并共享 cookie)。
我会很感激任何想法。
找到答案
我设法找到了我的查询的答案。正如我在下面的评论中提到的,我使用 withNewWindow() 方法如下:
withNewWindow({ AnchorForNewPage.click()}){ assert at(NewPage) do something and something else } 确保您在第二页上执行的所有操作都在此闭包内,否则测试将失败。