在Selenium IDE中可以处理多个浏览器窗口。虽然Selenium IDE并不像本书后续章节要介绍的WebDriver那么强大,但通过在测试用例的步骤中使用各种命令的组合和临时变量,可以让Selenium IDE变得更为厉害,甚至可以操作多个浏览器窗口的切换。下例就展示了如何通过Selenium IDE来完成一些简单的多浏览器窗口切换的工作。当然,测试用例中的步骤并不是一次录制而成,而是通过调试修改而成。
图2.14 Firefox阻止网站弹出pop-up窗口的提示信息
首先需要确保Firefox浏览器允许pop-up窗口的弹出,否则本示例无法正常进行演示。如果出现如图2.14所示的提示信息,则需要进行合理的设置才能保证本例的后续演示。
由于本示例以百度主页为第一窗口,然后通过pop-up窗口打开第二个窗口,因此需要确保能在百度主页的地址中允许pop-up窗口的弹出。设置信息如图2.15所示。
接下来就可以利用Selenium IDE来操作多个浏览器窗口了。具体的测试用例步骤如图2.16所示。
1)在Selenium IDE中打开百度主页。storeTitle命令用于将百度主页的标题保存到变量i中并在后续步骤中使用它,同时暂且定义这个加载了百度主页的活动窗口为父窗口。open-Window命令将会在新pop-up的窗口中打开Google主页,并通过pause命令将Selenium IDE的执行暂停5秒,让新pop-up的窗口有足够的时间加载Google主页。
图2.15 允许网站弹出pop-up窗口的设置(www.daowen.com)
图2.16 Selenium IDE操作多窗口的测试脚本
2)操作新pop-up的窗口,但此时还不能直接对新窗口进行操作。首先需要通过se-lectWindow命令将新窗口选中,定义这个加载了Google主页的活动窗口为子窗口。
3)单击Google主页上的Images链接。如果此时需要在原来的父窗口——百度主页上进行一些操作,那么首先需要将当前活动页面的标题用变量j保存起来,这样方便在后续可以再次找到这个子窗口并在其中进行操作。
4)通过selectWindow${i}选中父窗口,也就是之前加载了百度主页的窗口,继而单击“图片”链接。
5)选中子窗口Google Images并关闭该窗口,再选中父窗口“百度图片”并关闭该父窗口。
请确保在多个浏览器窗口之间进行切换时,先保存当前活动窗口的标题以备后续能再次选中并切换回该窗口。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。