我正在执行一个脚本来验证应用程序中的主屏幕。在同一应用程序中,有一个超链接可以打开一个新的jsp页面。当我尝试通过webdriver窗口句柄处理它时,无法识别主应用程序打开的新页面。
如何处理这种情况?
在新打开的JSP页面上有一些数据需要作为测试用例的一部分进行验证。
尝试了窗口句柄,无法正常工作。显然,因为它不是弹出窗口。
答案 0 :(得分:0)
在不显示代码的情况下很难准确地识别出问题所在,以及它不是弹出窗口而是新窗口的含义。根据我的理解,如果硒不能在新窗口中识别出来,那么如果您在选项卡中打开链接然后切换到该选项卡,则硒可能会起作用。您可以通过以下方式做到这一点:
Actions actions = new Actions(driver);
actions.keyDown(Keys.LEFT_CONTROL)
.click(yourHyperlink)
.keyUp(Keys.LEFT_CONTROL)
.build()
.perform();
Selenium会自动将上下文切换到这个新选项卡,但是即使不是这样,窗口句柄也可以识别它。