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

来源:互联网 发布:关于理财的软件 编辑:程序博客网 时间:2024/05/21 17:03

原文出处: 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)获取

原创粉丝点击