【发布时间】:2019-11-09 11:23:40
【问题描述】:
我正在执行一个验证应用程序主屏幕的脚本。在同一个应用程序中,有一个超链接可以打开一个新的 jsp 页面。当我尝试通过 webdriver 窗口句柄处理它时,它无法识别主应用程序打开的新页面。
如何处理这种情况?
在新打开的 JSP 页面上有一些数据需要作为测试用例的一部分进行验证。
试过窗口句柄,不工作。显然,因为它不是弹出窗口。
【问题讨论】:
我正在执行一个验证应用程序主屏幕的脚本。在同一个应用程序中,有一个超链接可以打开一个新的 jsp 页面。当我尝试通过 webdriver 窗口句柄处理它时,它无法识别主应用程序打开的新页面。
如何处理这种情况?
在新打开的 JSP 页面上有一些数据需要作为测试用例的一部分进行验证。
试过窗口句柄,不工作。显然,因为它不是弹出窗口。
【问题讨论】:
如果不显示代码,以及它不是弹出窗口而是新窗口的意思,就很难准确地辨别问题出在哪里。据我所知,如果 selenium 没有将其识别为新窗口,那么如果您在选项卡中打开链接然后切换到该选项卡,它可能会起作用。你可以这样做:
Actions actions = new Actions(driver);
actions.keyDown(Keys.LEFT_CONTROL)
.click(yourHyperlink)
.keyUp(Keys.LEFT_CONTROL)
.build()
.perform();
Selenium 自动将上下文切换到这个新选项卡,但即使没有,窗口句柄也能识别它。
【讨论】: