Selenium Webdriver java

本文详细介绍Selenium WebDriver的使用技巧,包括环境搭建、浏览器操作、元素定位等,并提供了多个实用示例,如下拉列表操作、iframe元素定位及鼠标键盘模拟等。
基于maven的Selniun 2.0 webdriver环境快速搭建

http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html

Selenium Webdriver学习: http://jarvi.iteye.com/category/203994

https://github.com/easonhan007/webdriver_guide

Selenium WebDriver经验杂记
http://blog.youkuaiyun.com/ant_yan/article/details/8185899
http://blog.youkuaiyun.com/aerchi/article/category/936247

在Eclipse中使用JUnit4进行单元测试


1. Selenium Webdriver java 最大化浏览器窗口。

System.setProperty("webdriver.firefox.bin","D:/MozillaFirefox/firefox.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();

参考文章:http://xebee.xebia.in/2012/04/06/maximize-browser-window-in-selenium-web-driver/

2. Selenium Webdriver java 浏览器中前进,后退,刷新操作。

System.setProperty("webdriver.firefox.bin","D:/MozillaFirefox/firefox.exe");
WebDriver driver = newFirefoxDriver();
driver.manage().window().maximize();
driver.get("http://www.google.com.hk");
driver.navigate().forward();// 前进
driver.navigate().back();// 后退
driver.navigate().refresh();// 刷新

3.WebDriver的几个实现:
Name ofdriver                Available on whichOS?       Classto instantiate 
HtmlUnit Driver                      All                                            org.openqa.selenium.htmlunit.HtmlUnitDriver 
Firefox Driver                           All                                            org.openqa.selenium.firefox.FirefoxDriver 
Internet Explorer Driver     Windows                    org.openqa.selenium.ie.InternetExplorerDriver 
Chrome Driver                        All                                          org.openqa.selenium.chrome.ChromeDriver 

(1)HtmlUnitDriver是纯java的驱动器,全部在内存中运行,不会实际打开浏览器,但其速度很快。 
(2)Firefox Driver:速度慢。 
4. TestNG实例:
WebDriver+TestNG+ANT 实现多浏览器兼容性测试
5. Webdriver 针对iframe中的元素定位
Selenium2在使用get()方法打开一个网页的时候,是不会继续加载里面的iframe中的内容的(这一点与Selenium有所区别)。那么,我们就需要人为的要求Selenium2对iframe中的内容进行加载。
例子一:
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='g-editor-iframe']"))); 
例子二:
driver.switchTo().frame(driver.findElement(By.id("baiduSpFrame")));
切换主页
用getWindowHandle()方法可以快速的进行切换回主页:
StringstrMainHandler = driver.getWindowHandle();
driver.switchTo().window(strMainHandler);
关于iframe中 元素定位和xpath, cssSelector定位可参考:
6.Webdriver中操作下拉列表
对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作。
7.Webdriver 利用Actions类模拟鼠标和键盘的操作
8. Hudson + WebDriver组织自动化测试

9. Webdirver 利用actions 实现 mouseover方法
Actionsbuilder =new Actions(driver);
Actionsmousehover=builder.moveToElement(driver.findElement(By. xxx("***") ));
mousehover.perform(); 
红色部分根据实际情况修改。
10. webdriver 中 层级定位
11. webdriver 执行js脚本
12. webdriver 等待页面加载完成
13. 获取页面对象的属性值
绿色为对象的属性
pk1=wd.findElement(By.xpath("//input[@id='public_key']")).getAttribute("value");
System.out.println(pk1);
14. Webdriver 通过调用JavascriptExecutor使对象隐藏对象出现,操作对象。
15.Selenium中webdriver的quit()和close()区别
在关闭driver时用Driver.Quit();不要用Driver.Close();
Driver.Quit() Quit this dirver, closing everyassociated windows;
Driver.Close() Close the current window, quiting thebrowser if it is the last window currently open.

### 关于使用 Selenium WebDriver 进行 Java 开发 #### 创建 WebDriver 实例 为了启动浏览器并创建 WebDriver 的实例,在Java中通常会导入必要的库,并设置特定的驱动路径。例如对于Firefox浏览器: ```java System.setProperty("webdriver.gecko.driver", "path/to/geckodriver"); WebDriver driver = new FirefoxDriver(); ``` 这段代码设置了Gecko驱动的位置,并初始化了一个新的Firefox浏览器实例[^1]。 #### 访问网页 一旦有了 WebDriver 对象,就可以通过`get()`方法访问指定URL: ```java driver.get("http://example.com"); ``` 此命令会让浏览器加载给定网址的内容。 #### 定位元素 在自动化测试过程中,经常需要与页面上的各种元素交互。可以利用多种策略来定位这些元素,比如ID、名称、XPath等。下面是一个基于 XPath 查找单个按钮的例子: ```java WebElement button = driver.findElement(By.xpath("//button[text()='Submit']")); ``` 这行代码将会找到文本为'Submit'的第一个匹配到的<button>标签[^4]。 #### 执行操作 找到了目标元素之后,便可以通过调用相应的方法来进行点击、输入文字等一系列动作。如模拟用户点击上述提到的那个提交按钮: ```java button.click(); ``` 以上就是简单的点击事件处理方式。 #### 结束会话 当所有的测试步骤完成后,记得关闭浏览器窗口以及结束整个浏览器进程: ```java driver.quit(); ``` 该语句不仅关闭当前打开的所有窗口,还会完全退出浏览器应用程序。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值