1、selenium 简介html
Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,包括Selenium-IDE、Selenium-RC、Selenium-Webdriver 以及Selenium-Grid。java
Selenium 2.0的主要新功能是集成了Webdriver的API。Webdriver的设计提供一个更简单、更简洁的编程接口以及解决的Selenium-RC API中的一些限制。Selenium-Webdriver的开发是为了更好地支持动态网页的页面元素可能已经更改,但自己不被从新加载的页面。Webdriver的目标是提供一个设计良好的面向对象的API、提供更好的支持,为Web应用程序测试问题。web
Selenium版本介绍chrome
selenium 1.0 = seleniumGrid + seleniumide + seleniumRc编程
selenium 2.0 = selenium1.0 + webdriverapi
selenium 3.0 变动:浏览器
1)移除seleniumRc框架
2)全面拥抱 Javamaven
3)Firefox 和 safari 推出本身的 Webdirveride
4)selenium2.0 支持IE7-11,selenium 3.0支持IE 9 +
2、Selenium 环境搭建
1.下载JDK、安装JDK
2.配置Java 环境
1)设置JAVA_HOME 环境变量:安装路径
2) 设置Path值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3) 设置CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
4) 校验是否安装完成能够在控制台输入: java –version
5) 安装IDEA集成开发环境
3.Maven是一个项目管理工具,能够经过项目进行构建打包管理项目中所需的jar包。经过Idea 新建 maven工程。注意:pom.xml 中需引入selenium所须要的jar包
3、认识TestNG
testng是一个强大的测试框架,相似于junit,提供了强大的注解,便于对case的各类操做。
TestNG引入:Pom.xml 添加以下:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.10</version>
</dependency
TestNG注解:
1)@Test:管理用例,1个test表明一个用例。
2)@BeforeTest:全部Test运行以前执行(只执行1次,相似数据准备打开浏览器)
3)@BeforeMethed:每个Test运行前执行1次(相似于建立用户操做)
4)@AfterTest:全部Test运行以后执行(只执行1次,相似于关闭浏览器炒做)
5)@AfterMethed:每个Test运行以后执行1次
经常使用校验方式:
相等:Assert.assertEquals()
不相等:Assert.assertNotEquals()
为空:Assert.assertNull()
不为空:Assert.assertNotNull()
4、Selenium入门操做
启动浏览器操做:
--启动Chrome浏览器:(谷歌浏览器默认安装路径)
1.须要chromedriver.exe
下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads
2.工程根目录下新建drivers文件夹,并把chromedriver.exe放入
3.启动Chrome 浏览器,如图:
public class openChromTest { /* 启动谷歌浏览器 一、建立ChromeDriver对象 二、获取地址,打开百度页面 */ @Test public void openGe(){ WebDriver driver =new ChromeDriver(); driver.get("https://www.baidu.com"); }
--启动IE浏览器操做:(IE安装目录为指定位置)
1.须要IEDriverServer.exe
2.下载地址(http://selenium-release.storage.googleapis.com/index.html)IE的exe文件分64位与32位,请根据自已的机器选择相应的exe文件
3.启动IE 浏览器,如图:
/* *一、指定IEDriverServer.exe路径 *二、new一个InternetExplorerDriver 对象,启动IE浏览器 */ @Test public void openIETest(){ System.setProperty("webdriver.ie.driver",".\\drivers\\IEDriverServer"); WebDriver driver = new InternetExplorerDriver(); }
--启动Edge浏览器:
1.控制台输入“ver”查看版本系统版本
2.根据系统版本下载对应的driver:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
3.启动浏览器,如图:
/* *一、指定EdgeDriverServer.exe路径 *二、new一个EdgeDriver 对象,启动浏览器 */ @Test public void openEdgeTest(){ System.setProperty("webdriver.edge.driver",".\\drivers\\EdgeDriverServer"); WebDriver driver = new EdgeDriver(); }
5、Selenium关闭浏览器
1.关闭当前窗口
driver.close();
2.关闭全部窗口并退出
driver.quit();
public class PeixunDemo { private WebDriver driver; private String Url; /* * 建立ChromeDriver对象 * 给Url赋值,启动谷歌浏览器 * 关闭谷歌浏览器页面 */ @Test public void beforeTest() { driver= new ChromeDriver(); Url = "https://www.baidu.com"; driver.get(Url); driver.close(); } }
6、浏览器经常使用操做
driver.navigate().back();//向前
driver.navigate().forward();//向后
driver.navigate().refresh();//当前页刷新
driver.manage().window().maximize();//浏览器窗口最大化
String title = driver.getTitle();//返回当前页面的
TtileString currentUrl = driver.getCurrentUrl();//返回当前页面的url
getWindowHandle()//返回当前的浏览器的窗口句柄
getWindowHandles() //返回当前的浏览器的全部窗口句柄
getPageSource() //返回当前页面的源