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() //返回當前頁面的源