浏览器多窗口处理—Selenium自动化测试指南(7)

发表于:2013-9-03 11:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵卓    来源:51Testing软件测试网

分享:

  5.9  浏览器多窗口处理

  在进行Web测试时,还会弹出一些子窗口,并且在多个窗口之间进行切换操作。

  例如,在百度首页,单击“注册”超级链接,如图5-65所示。

  

图5-65  百度首页

  弹出一个标题为“百度账号注册”新页面,如图5-66所示。

  接下来以百度账号注册窗口为例,讨论如何测试多个窗口之间的切换。

  

图5-66  百度注册页面

  5.9.1  WindowHandles/getWindowHandles()

  要在多个窗口之间进行切换,首先必须获取每个窗口的唯一标识符(句柄),通过WindowHandles属性(用于C#)/getWindowHandles()(用于Java)可以获取所有打开窗口的标识符,并将其以集合的形式返回。

  下面举例说明先打开百度注册窗口,然后获取所有窗口的标识符并将其打印出来,代码如程序清单5-66或程序清单5-67所示。

  程序清单5-66  C#代码

IWebDriver mainWindow = new FirefoxDriver();
INavigation navigation = mainWindow.Navigate();
navigation.GoToUrl(http://www.baidu.com);
IWebElement btnInMainWindow = mainWindow.FindElement(By.Name("tj_reg"));
btnInMainWindow.Click();
System.Collections.Generic.IList<string> handles= mainWindow.WindowHandles;
for (int i = 0; i < handles.Count; i++)
{
Console.WriteLine(handles[i]);
}
Console.ReadKey();

52/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • cxwtomcat
    2014-6-07 19:48:02

    这书除了这个第五章外,几乎都在凑字数,基本没什么价值,要学webdriver看英文电子书。

  • shingo0109
    2013-9-04 12:13:30

    请问这书哪里能买到?

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号