Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口。
通过名称(name)识别和处理:
Selenium WebDriver允许我们通过name属性或窗口的句柄来识别窗口,然后通过WebDriver.switchTo().window()方法在不同的窗口之间进行切换。
window name属性的定义
name 属性可设置或得到窗口的名称,其值为字符串。语法如下:
1 window.name = [name]
该名称是在 方法创建窗口时指定的 或者 使用一个 <frame> 标记的 name 属性指定的,默认情况下 name 属性值是为空的。
提示:窗口的 name 属性可以用于 <a> 或 <form> 标签的 target 属性值,这样表示 超链接文档 或 表单 提交结果应该显示于指定 name 的窗口或框架中。
个人感觉这个name属性不太常见,大部分网站都是默认值,即空。可以在控制台输入js命令,查看当前页面的name属性值,命令是:window.name
通过标题(title)识别和处理:
很多时候开发人员并没有给弹出的窗口分配一个name属性。这种情况下,我们可以使用handle属性。但是handle属性是不停变化的,这样识别窗口变的有些困难,尤其是多个窗口的时候。我们使用handle和title来识别一个弹出窗口。