`
lsjlym
  • 浏览: 21469 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Selenium 2 (WebDreiver) 代码示例:弹出窗口测试

 
阅读更多

原文出处: http://www.thoughtworks-studios.com/docs/twist/2.3/help/how_do_i_handle_popup_in_selenium2.html


在Selenium 2 (WebDriver)中,测试弹出窗口涉及切换WebDriver到弹出窗口,运行弹出窗口内的动作,然后切换回主窗口。

示例代码如下(C#):

// 1 - 保存主窗口句柄
IWebDriver driver = new FirefoxDriver();
string mainWindowHandle = driver.CurrentWindowHandle;
// 2 - 标识弹出窗口
IWebDriver popup = null;
foreach (string winHandle in driver.WindowHandles)
{
popup = driver.SwitchTo().Window(winHandle);
if (popup.Title.Equals("弹出窗口的标题", StringComparison.InvariantCultureIgnoreCase))
break;
}
// 3 - 执行弹出窗口内的任何操作
popup.findElement(By.name("TextBoxName")).sendKeys("Enter TEXT");
popup.findElement(By.name("SaveButton")).click();
...
// 4 - 执行弹出窗口内的任何操作后关闭弹出窗口
// 方式一:点击弹出窗口内部元素(如<关闭>按钮)触发弹出窗口自己关闭
// popup.findElement(By.name("CloseButton")).click();
// 方式二:调用弹出窗口的WebDriver的Close方法
popup.Close();
// 方式一、二不能同时使用,否则测试抛出无法找到窗口异常(已经关闭)
// 5 - 返回主窗口
driver.SwitchTo().Window(mainWindowHandle);

注释:以上代码不能从Selenium IDE录制和导出到C#(WebDriver)获取

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics