selenium2 安装、简单使用及浏览器启动问题解决汇总
一、selenium2 安装
1.安装jdk并配置环境变量
jdk需要1.6版本及以上的,这个从网上下载就可以,环境变量的配置前边的随笔整理过就不多说了。
2.安装Firefox,Selenium IDE,Firebug和firepath
(1)安装FireFox
Firefox版本有一定限制,需要和selenium IDE相匹配。
下载地址: http://www.firefox.com.cn/download/
(2)安装Selenium IDE
Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制和回放功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供selenium使用。Selenium IDE主要是用在Selenium 1.0中,在Selenium 2.0中基本不使用。
1)下载Selenim IDE 下载地址:http://seleniumhq.org/projects/ide/(官网封了!)从csdn上下载的
2)安装:直接把下载的Selenium IDE文件拖到FireFox浏览器窗口中,按提示操作即可安装成功。
(3)安装Firebug
1)打开Firefox浏览器
2)点击菜单“工具(T)”,下拉列表中选择“附加组件”。
3)“获取附加组件”
4)在搜索里输入“firebug”,稍等即可。
5)点击“添加至Firefox”
6)OK,重启浏览器即可。
(4)安装firepath
1)打开Firefox浏览器
2)点击菜单“工具(T)”,下拉列表中选择“附加组件”。
3)“获取附加组件”
4)在搜索里输入“firepath”,稍等即可。
5)点击“添加至Firefox”
6)重启浏览器即可。
3.安装eclipse
安装eclipse,安装在默认安装目录下
4。安装selenium webdriver
首先声明selenium webdriver=selenium2=selenium1+webdriver 这个基础留到下一篇详细说明。
(1)下载:官方UserGuide:http://seleniumhq.org/docs/(官网进不去,用下边地址)
CSDN: http://download.csdn.net/download/shingo0109/8183435
2)下载:selenium-server-standalone-2.25.0.jar和selenium-java-2.25.0.zip(使用java语言的下载该包)。
3)解压下载的selenium-java-2.25.0.zip文件
二、工具的简单使用
1、 Selenium-IDE使用
1)Firefox工具栏,打开Selenium-IDE插件,如下图:
2)在“Base URL”中输入需要录制脚本的网址地址,然后点击界面中右上角红色录制按钮(开始录制、停止录制都是此按钮),如下图。
3)录制完成后,点击回放按钮可以对刚刚录制的脚本进行回放,这里可以调整回放速度。 回放按钮就是上图中的绿色三角按钮。
4)还可以将录制的脚本转换成C#,Java,PHP,Ruby,Prel,Groovy,Python等语言,如下图所示。转换完以后可以直接复制到Eclipse中使用,在Selenium 1.0中稍加修改就可使用,在Selenium 2.0则不能直接使用,只能手动编制。
2、 Firebug的使用
打开Firebug有两种基本的方法:
1)当需要获取页面上元素的属性时,可以使用Firebug进行获取,例如下图所示输入框:
获取方法:右击输入框,在菜单中选择“查看元素”
此时将会在页面下方出现该元素的属性,如下图所示:
然后右击“编辑”后面的内容,在菜单中选择“复制xpath”,即可使用。
2)Firebug也可以通过点击Firefox浏览器上的“工具”菜单->“Firebug”->“打开Firebug”进行打开。
3、xpath checker的使用
元素的属性还可以通过xpath checker来查看。对于上面百度输入框的属性可以通过右击并选择菜单中的“view xpath“按钮
此时会打开如下窗口,“XPath”中的内容就是该输入框的属性,在下面会显示对应的元素。
4、Selenium 2.0的使用
1)在Eclipse里新建一个project,然后引用selenium-java-2.25.0.zip解压后的selenium-java-2.25.0.jar。
2)新建一个package"test"
3)在"test"包下新建一个class“Seleniumcn”把代码贴进去,如果代码没错误就可以运行了。
因为selenium2支持多浏览器,这里只总结常用的三种浏览器。
(1)用firefox浏览器执行测试,(如果firefox浏览器安装路径为默认路径,则代码如下)
package test;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Seleniumcn {
public static void main(String[] args) {
//如果不是默认路径安装,需要先将firefox.exe配置到系统变量中去,如下:
// System.setProperty("webdriver.firefox.bin", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");
//解决url输不进去问题
System.setProperty("javax.xml.parsers.DocumentBuilderFactory","com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.name("kw"));
element.sendKeys("hello Selenium!");
element.submit();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Page title is: " + driver.getTitle());
driver.close();
}
}
(2)用IE浏览器执行测试,由于ie,chrome浏览器的driverServer是由他们自己管理的,我们需要下载相应的驱动,ie的为IEDriverServer.exe,注意区分32位和64位,使用方法如下:
System.setProperty("webdriver.ie.driver", "src\\main\\resources\\IEDriver.exe");
同样,如果ie不是默认路径安装需要配置bin路径到系统属性中去
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);
package test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
public class Seleniumcn {
public static void main(String[] args) {
System.setProperty("webdriver.ie.driver", "C:\\Program Files\\IEDriverServer.exe");
//解决ie兼容模式设置导致无法启动问题
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);
driver.get("http://www.baidu.com");
WebElement element = driver.findElement(By.id("kw"));
element.sendKeys("hello Selenium!");
element.submit();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Page title is: " + driver.getTitle());
driver.close();
}
}
(3)用chrome浏览器执行测试,这里只说下启动chrome浏览器。(需要下载驱动chromedriver.exe)
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\chromedriver.exe");