java+selenium3-簡介及環境搭建

selenium簡介及環境搭建

Selenium簡介

1.Selenium簡介及組成javascript

selenium是一種web自動化測試工具,它能夠在主流的瀏覽器上運行,支持的語言有java, python,javascripthtml

selenium主要有三部分組成:java

Selenium IDE:錄製和回放腳本,能夠模擬用戶對頁面的真實操做,區別於其餘工具:是經過攔截http請求。python

通常只把錄製腳本看成一個輔助功能,由於一個UI節點的細微變化,均可能致使自動化測試工具沒法識別,當測試項目項目大時,定位、更新十分困難。web

其次,錄製的腳本有時候人工難以理解。面試

Selenium Grid:實如今多臺機器上、和異構環境中並行執行測試用例。並行執行不只節省時間,並且能夠同時在不一樣的瀏覽器、平臺上運行自動化測試腳本。chrome

Selenium Web Driver:針對各個瀏覽器而開發,經過原生瀏覽器支持或者擴展(Chrome webDrive、FireFox WebDriver)直接控制瀏覽器api

Selenium RC(Selenium1.0):在瀏覽器中運行javaScript,使用瀏覽器內置的JavaScript來翻譯和執行selense瀏覽器

 

2.Selenium特色安全

支持錄製和回放(Selenium IDE)

經過WebDriver,直接控制瀏覽器,而不是經過攔截HTTP請求,實現真正模仿了用戶的操做;同時使用WebDriver可以靈活的獲取頁面元素(WebDriver),而且提供執行JS的接口

可以分佈式運行在不一樣機器和異構環境中(不一樣瀏覽器)

 

3. Selenium的內部運行機制?如何可以跨瀏覽器使用?——WebDriver原理(&RC原理)

1)RC原理

在Selenium1.0中,是經過Selenium RC服務器做爲代理服務器去訪問應用從而達到測試的目的。

Selenium RC分爲三個部分,Launcher、HttpProxy、Core。

Launcher用於啓動瀏覽器,把Selenium Core加載到瀏覽器中,而且把瀏覽器的代理設置爲Selenium Server的Http Proxy。

Core是一堆JavaScript的集合,因此本質至關於運行這些JavaScript函數來實現對Html頁面的操做。——這也是爲何能夠運行在幾乎全部主流的瀏覽器上。

然而直接運行JavaScript會有極大的安全漏洞,因此會受到「同源限制」,在這個基礎上,Selenium2.0引入了WebDriver。

2)Web Driver原理

webDriver是按照client/server模式設計的。client是咱們的測試腳本,發送請求;server就是打開的瀏覽器,用來接收client的請求並做出響應。

具體的工做流程:

webDriver打開瀏覽器並綁定到指定端口。啓動的瀏覽器做爲遠程服務器remote server

client經過CommandExecuter發送http請求給遠程服務器的偵聽端口(the wire protocal)

遠程服務器根據原生的瀏覽器組件來轉化爲瀏覽器的本地(native)調用

因此web Driver用到的協議

打開瀏覽器時:HTTP協議

client端發送http請求到遠程服務器的偵聽端口:the wire protocol

其中:

有線協議:指的是從點到點獲取數據的方式,是應用層的協議。

HTTP協議:是用於從服務器傳輸超文本標記語言HTML到客戶端的通訊協議。是一個應用層協議,由請求/響應構成,是一個標準的客戶/服務器模式。是一個無狀態的協議。

(無狀態:對事務沒有記憶能力,不會保存此次傳輸的信息——節約內存)

 

環境搭建

1.安裝java運行環境

 

2.下載selenium IDE : https://www.seleniumhq.org/download/

下載chromedriver.exe : http://selenium-release.storage.googleapis.com/index.html

 

 

3.新建一個java項目,在其下面建立一個libs的文件夾,將selenium-java.zip中的jar包都拷貝進去

 

 

4.鼠標右擊java項目->Build Path -> Config build path -> java build Path -> Libraries -> Add JARs

 

以下所示,添加jar包成功

 

6.編寫代碼啓動Chrome瀏覽器

package com.java.sele;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Test {
    public static void main(String[] args) {
        WebDriver driver;
        //設置瀏覽器驅動環境變量
        System.setProperty("webdriver.chrome.driver", "C:\\Program Files (x86)\\ChromeCore\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("http://www.baidu.com");
    }
}

 

注意:

chromedriver.exe與Chrome瀏覽器的版本要對應,不然代碼會報錯

 

參考資料:《基於Selenium 2的自動化測試》

參考資料:面試準備——(三)Selenium(1)基礎問題及自動化測試

相關文章
相關標籤/搜索