selenium与webdriver测试弹出窗口
2013-11-26 17:01
363 查看
selenium 2.0更多的是selenium1.0和webdriver的集成,因此是兼容1.0的(详细:http://www.ibm.com/developerworks/cn/web/1309_fengyq_seleniumvswebdriver/)。也就是说利用webdriver实例可以构建selenium的实例:
我们知道selenium 1.0如果测试弹出窗口的时候,可以利用selectWindow来实现,代码如下:
遗憾的是,在实践过程中,发现利用webdriver构建的selenium,上面的代码却失效了。主要体现在当弹出窗口关闭后,选择回原来的窗口时,用selenium.selectWindow(string)当传参数null或者title都出现异常。于是不得不修改代码采用webdriver方法来处理了(参考:/article/10444068.html)。通过运行发现现在正常了。
WebDriver driver = new FirefoxDriver(); Selenium selenium = new WebDriverBackedSelenium(driver, "https://apps.na.collabserv.com/");
我们知道selenium 1.0如果测试弹出窗口的时候,可以利用selectWindow来实现,代码如下:
String[] titles= selenium.getAllWindowTitles(); for(int i=0; i<titles.length; i++){ Logger.logMessage("Title is " + titles[i]); if(titles[i].contains("pop up window title")){ selenium.selectWindow(titles[i]); //do what you want to verify in the popup window selenium.close(); //close the popup window result=true; break; } }
遗憾的是,在实践过程中,发现利用webdriver构建的selenium,上面的代码却失效了。主要体现在当弹出窗口关闭后,选择回原来的窗口时,用selenium.selectWindow(string)当传参数null或者title都出现异常。于是不得不修改代码采用webdriver方法来处理了(参考:/article/10444068.html)。通过运行发现现在正常了。
String mainWinHandler = driver.getWindowHandle(); selenium.click(locator); //popup window //wait some time to load for(String handler : driver.getWindowHandles()){ WebDriver popup = driver.switchTo().window(handler); if(popup.getTitle().contains("pop up title")){ bretVal = true; popup.close(); //close pop up break; } } driver.switchTo().window(mainWinHandler); //return to the previous window
相关文章推荐
- 【selenium webdriver】处理Windows弹出窗口(window handles)
- Selenium 2 (WebDreiver) 代码示例:弹出窗口测试
- Selenium 疑问之一:WebDriver 获得弹出窗口(转)
- selenium webdriver学习(六)------------如何得到弹出窗口
- selenium webdriver学习(六)------------如何得到弹出窗口
- Selenium Webdriver中如何处理浏览器弹出多个窗口的问题
- 解决Selenium Webdriver执行测试时,每个测试方法都打开一个浏览器窗口的问题
- selenium webdriver学习(六)-怎么得到弹出窗口
- Selenium 自动化 web 测试 - 包含各种弹出窗口及Ajax等
- 切换标签及webdriver如何获得弹出窗口
- Selenium的RC方式编写的测试脚本部分迁移到WebDriver方式混用的简单示例
- Selenium WebDriver1--创建login测试用例
- selenium_webdriver(python)多层框架/窗口中元素定位问题
- 在Jmeter中使用Selenium WebDriver完成测试
- selenium webdriver窗口切换(上)
- selenium_webdriver(python)获取元素属性值,浏览器窗口控制、网页前进后退,title/url打印
- ruby+selenium-webdriver一步一步进行自动化测试(3)——面向对象编程
- 【软件测试】Java中Selenium Webdriver的使用
- selenium-webdriver(python) (七)-----多层框架或窗口的定位
- 百度搜索_Selenium WebDriver 环境搭建和错误调试_chromedriver_win32必须下载否则无法测试chrome