- Selenium + Python 自动化测试环境搭建
- 怎样开始用selenium进行自动化测试(个人总结)
- 关于学习selenium进行自动化测试所需要学的知识
- Selenium 使用介绍
- Selenium 命令列表
- Selenium 快速入门
- Web软件测试工具Selenium:如何选取元素
- Selenium RC在浏览器兼容性测试的用武之地
- selenium开源功能测试工具
- Selenium执行测试脚本稳定性的一些经验分享交流
- Web测试工具Selenium入门心得
- Selenium自动化测试用例设计注意事项(一)
- 基于TestNG 与Selenium 的自动化测试设计与实施
- 毁三观的 Selenium 自动化测试框架
- Selenium自动化测试用例设计注意事项(二)
- 用Selenium实现页面自动化测试
- Selenium实战:.Net下的自动化测试搭建
- 用 Selenium 自动化验收测试(一)
- 用 Selenium 自动化验收测试(三)
- 使用开源工具SeleniumRC进行功能测试
- 用 Selenium 自动化验收测试(二)
- 用 Selenium 自动化验收测试(四)
- 应用Selenium和Ruby进行面向领域的Web测试
- WebTest比拼Selenium:模拟和真实浏览器上的测试
- Selenium实例:AJAX自动化测试应用
- Selenium-集成测试工具
- 基于FireFox的测试插件 – Selenium IDE
- 基于Selenium和VSTT的网站测试自动化系统
- selenium参考手册中文翻译
- 《Selenium2自动化测试实战–基于Python语言》
- selenium webdriver (python) 第三版
- selenium-webdriver(python) (十六) –unittest 框架
- selenium webdriver (python) 第一版PDF
- selenium-webdriver(python) (十五) — 鼠标事件
- selenium-webdriver(python) (十四) — webdriver原理
- selenium-webdriver(python) (十三) — cookie处理
- 轻松自动化—selenium-webdriver(python) (十二)
- 轻松自动化—selenium-webdriver(python) (十一)
- 轻松自动化—selenium-webdriver(python) (十)
- 轻松自动化—selenium-webdriver(python) (八)
- 轻松自动化—selenium-webdriver(python) (七)
- 轻松自动化—selenium-webdriver(python) (六)
- 轻松自动化—selenium-webdriver(python) (五)
- 轻松自动化—selenium-webdriver(python) (三)
- 轻松自动化—selenium-webdriver(python) (二)
- 轻松自动化—selenium-webdriver(python) (一)
- 译:selenium webdriver (python)
- 菜鸟学自动化测试(九)—-WebDirver
- 菜鸟学自动化测试(八)—-selenium 2.0环境搭建(基于maven)
- Selenium3.0 自动化测试
- JavaScript(Node.js)+ Selenium自动化测试
- selenium操作隐藏的元素
- selenium处理select标签的下拉框
- 在Python中实现PageFactory模式
- 《selenium2 Java 自动化测试实战(第二版)》 更新2016.5.3
- 基于selenium的pyse自动化测试框架
- 自动化基础普及之selenium是啥?
- 在做自动化测试之前你需要知道的
- 自动化测试如何解决验证码的问题
- 菜鸟学自动化测试(六)—-selenium 命令之文字范本匹配
- 菜鸟学自动化测试(五)—–selenium命令之定位页面元素
- 菜鸟学自动化测试(四)—-selenium 命令之验证页面元素
- 菜鸟学自动化测试(三)—-selenium 命令
- 菜鸟学自动化测试(二)—-selenium IDE 功能扩展
- 菜鸟学自动化测试(一)—-selenium IDE
- selenium RC 环境配置
- Selenium的基本使用
- 敏捷自动化测试
- Web测试工具Selenium入门心得
菜鸟学自动化测试(九)—-WebDirver
关于什么是WebDirver,上一节做了简单的描述,环境也在上一章中搭建完成。
下面我们拷贝了官网提供的一个实例。让其在我们的eclipse中运行。
Selenium WebDirver 代码如下:
MySel20Proj; org.openqa.selenium.By; org.openqa.selenium.WebDriver; org.openqa.selenium.WebElement; org.openqa.selenium.firefox.FirefoxDriver; org.openqa.selenium.htmlunit.HtmlUnitDriver; org.openqa.selenium.support.ui.ExpectedCondition; org.openqa.selenium.support.ui.WebDriverWait; Selenium2Example { main(String[] args) { System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" ); WebDriver driver = FirefoxDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese!"); element.submit(); System.out.println("Page title is: " + driver.getTitle()); ( WebDriverWait(driver, 10)).until( ExpectedCondition<Boolean>() { Boolean apply(WebDriver d) { d.getTitle().toLowerCase().startsWith("cheese!"); } }); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } }
运行时报出了错误;
Exception in thread "main" org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: XP
Build info: version: '2.16.1', revision: '15405', time: '2012-01-05 12:30:12'
我们只要在WebDriver driver = new FirefoxDriver(); 前面指定我们浏览器的具体信息即可:
System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" );
WebDriver driver = new FirefoxDriver();
WebDirver 的实现:
驱动名称 | 对操作系统的支持 | 调用的接口 |
FireFox Driver | ALL | org.openqa.selenium.firefox.FirefoxDriver |
Chrome Driver | ALL | org.openqa.selenium.chrome.ChromeDriver |
InternetExplorer Driver | Windows | org.openqa.selenium.ie.InternetExplorerDriver |
HtmlUnit Driver | ALL | org.openqa.selenium.htmlunit.HtmlUnitDriver |
什么情况下选用WebDirver ?
(1)Selenium-1.0不支持的浏览器功能。
(2)multiple frames, multiple browser windows, popups, and alerts.
(3)页面导航。
(4)下拉。
(5)基于AJAX的UI元素。
同样,我们的selenium IDE也支持WebDriver类型脚本的导出。
将我们录制好的脚本 导出为junit(WebDriver) 类型
下面代码是我录制的一个google搜索“selenium”关键安的操作:
com.test.hzh; java.util.regex.Pattern; java.util.concurrent.TimeUnit; org.junit.*; org.junit.Assert.*; org.openqa.selenium.*; org.openqa.selenium.firefox.FirefoxDriver; org.openqa.selenium.support.ui.Select; Test1 { WebDriver driver; String baseUrl; StringBuffer verificationErrors = StringBuffer(); @Before setUp() Exception { System.setProperty ( "webdriver.firefox.bin" , "E:/Program Files/Mozilla Firefox/firefox.exe" ); driver = FirefoxDriver(); baseUrl = "http://www.google.com.hk/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @Test test() Exception { driver.get(baseUrl + "/"); driver.findElement(By.id("lst-ib")).clear(); driver.findElement(By.id("lst-ib")).sendKeys("selenium"); driver.findElement(By.name("btnK")).click(); } @After tearDown() Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } isElementPresent(By by) { { driver.findElement(by); ; } (NoSuchElementException e) { ; } } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论