java selenium教程之selenium詳細(xì)介紹
Selenium 是目前用的最廣泛的Web UI 自動(dòng)化測(cè)試框架。 本系列文章,將深入簡(jiǎn)出來(lái)講解selenium 的用法
閱讀目錄
selenium 的命名
selenium 的意思是 硒 (有點(diǎn)QTP 殺手的意思)
QTP mercury 是水銀 硒可以對(duì)抗水銀
QTP 目前的價(jià)格是 三個(gè)單機(jī)版 十萬(wàn)人民幣左右, 越來(lái)越少的人用QTP了
什么是selenium
一套軟件工具,用來(lái)支持不同的自動(dòng)化測(cè)試方法
開(kāi)源軟件:可以根據(jù)需要來(lái)增加重構(gòu)工具的某些功能
跨平臺(tái):linux , windows mac
核心功能就是可以在多個(gè)瀏覽器上進(jìn)行自動(dòng)化測(cè)試
支持多種編程語(yǔ)言
目前已經(jīng)被google , 百度, 騰訊等公司廣泛使用
能夠?qū)崿F(xiàn)類似商業(yè)工具的大部分功能,并且還實(shí)現(xiàn)了商業(yè)工具不能支持的功能
建議大家整體學(xué)習(xí)整套工具, 將來(lái)好選擇適合自己測(cè)試目的的測(cè)試工具。
Selenium 的發(fā)展歷史
2004年在ThoughtWorks 公司, 一個(gè)叫做Jason Huggins為了減少手工測(cè)試的工作, 自己寫(xiě)了一套Javascript的庫(kù), 這套庫(kù)可以進(jìn)行頁(yè)面交互, 并且可以重復(fù)的在不同瀏覽器上進(jìn)行重復(fù)的測(cè)試操作。
這套庫(kù)后來(lái)變?yōu)榱薙elenium Core. 為Selenium Remote Control (RC) 和Selenium IDE 提供了堅(jiān)實(shí)的核心基礎(chǔ)能力
Selenium 的作用是劃時(shí)代的,因?yàn)樗试S你使用多種語(yǔ)言來(lái)控制瀏覽器。
瀏覽器的對(duì)JS的安全限制也對(duì)Selenium的發(fā)展帶來(lái)了困擾,并且Web程序也越來(lái)越大,特性也越來(lái)越多,都對(duì)selenium的發(fā)展來(lái)說(shuō)帶來(lái)了不少困難
2006年Google 的工程師Simon Stewart開(kāi)啟了一個(gè)叫做WebDriver的項(xiàng)目, 此項(xiàng)目可以直接讓測(cè)試工具使用瀏覽器和操作系統(tǒng)本身提供的方法, 借此來(lái)繞過(guò)JS環(huán)境的沙盒效應(yīng), WebDriver項(xiàng)目目標(biāo)就是為了解決Selenium的痛處
2008年北京奧運(yùn)年會(huì), Selenium 和 WebDriver 這兩個(gè)項(xiàng)目進(jìn)行了合并, Selenium 2.0 出現(xiàn)了,也就是大家說(shuō)的WebDriver
Selenium 的工具套件
selenium 2 (aka. Selenium Webdriver)提供了極佳的測(cè)試工具特性, 例如:關(guān)聯(lián)的面向?qū)ο驛PI
Selenium 1 (aka. Selenium RC or Remote Control) 支持更多的瀏覽器,支持更多的編程語(yǔ)言(Java, JavaScript, Ruby PHP)
Selenium IDE (集成開(kāi)發(fā)環(huán)境) 是Firefox 的插件, 有圖形界面來(lái)錄制和回放腳本。 此插件只是用來(lái)做原型工具,不用希望你使用這個(gè)工具來(lái)運(yùn)行所有的測(cè)試腳本
Selenium-grid 可以并行的在多個(gè)測(cè)試環(huán)境之下測(cè)試腳本,實(shí)現(xiàn)腳本的并發(fā)測(cè)試執(zhí)行。 縮短大量測(cè)試腳本集合的執(zhí)行時(shí)間
選擇你的Selenium 工具
如果沒(méi)有編程經(jīng)驗(yàn),建議選擇Selenium IDE 來(lái)熟悉Selenium 的命令。 使用IDE以快速來(lái)創(chuàng)建簡(jiǎn)單的測(cè)試腳本
我們不建議你選擇Selenium IDE 來(lái)執(zhí)行自動(dòng)化測(cè)試,
建議先熟悉: Selenium IDE
再進(jìn)一步熟練使用Selenium-WebDriver API
WebDriver 支持的瀏覽器
IE6-10
FireFox大部分版本
Chrome
Safari
Opera
Andrioid 系統(tǒng)上的自帶瀏覽器
IOS系統(tǒng)上自帶瀏覽器
HtmlUnit的無(wú)界面實(shí)現(xiàn)
Selenium 1和 WebDriver 的區(qū)別
WebDriver 是Selenium 1 的升級(jí)版本, 也可以理解為兩個(gè)不同的產(chǎn)品
WebDriver 相比Selenium 1 來(lái)說(shuō)可以更好地繞過(guò)JS的限制,API也更易于使用.
Selenium 1 比WebDriver 支持更多的瀏覽器
WebDriver 可以實(shí)現(xiàn)向下兼容Selenium 1 的腳本
- Python selenium 三種等待方式詳解(必會(huì))
- Python中使用 Selenium 實(shí)現(xiàn)網(wǎng)頁(yè)截圖實(shí)例
- 玩轉(zhuǎn)python selenium鼠標(biāo)鍵盤操作(ActionChains)
- Python selenium文件上傳方法匯總
- Selenium處理select標(biāo)簽的下拉框
- python selenium UI自動(dòng)化解決驗(yàn)證碼的4種方法
- python+selenium開(kāi)發(fā)環(huán)境搭建圖文教程
- java selenium 操作瀏覽器實(shí)例
- java selenium元素定位大全
- python+selenium實(shí)現(xiàn)京東自動(dòng)登錄及秒殺功能
- Selenium(Python web測(cè)試工具)基本用法詳解
相關(guān)文章
SpringBoot Redis配置Fastjson進(jìn)行序列化和反序列化實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot Redis配置Fastjson進(jìn)行序列化和反序列化實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10springboot項(xiàng)目啟動(dòng)后執(zhí)行方法的三種方式
有時(shí)項(xiàng)目需求,需要項(xiàng)目啟動(dòng)的時(shí)候向數(shù)據(jù)庫(kù)中查詢一下系統(tǒng)屬性,或者需要加載某個(gè)特定的方法,下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目啟動(dòng)后執(zhí)行方法的三種方式,需要的朋友可以參考下2022-06-06在springboot中實(shí)現(xiàn)個(gè)別bean懶加載的操作
這篇文章主要介紹了在springboot中實(shí)現(xiàn)個(gè)別bean懶加載的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10SpringBoot中整合MyBatis-Plus的方法示例
這篇文章主要介紹了SpringBoot中整合MyBatis-Plus的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09java多線程編程之從線程返回?cái)?shù)據(jù)的兩種方法
從線程中返回?cái)?shù)據(jù)和向線程傳遞數(shù)據(jù)類似。也可以通過(guò)類成員以及回調(diào)函數(shù)來(lái)返回?cái)?shù)據(jù)。但類成員在返回?cái)?shù)據(jù)和傳遞數(shù)據(jù)時(shí)有一些區(qū)別,下面讓我們來(lái)看看它們區(qū)別在哪2014-01-01