Selenium家譜

  自動化測試一詞也算是整個測試行業裏面比較熱門的一個詞兒,工資高,前景好,有實力,有態度等等,不少企業的管理者也在不斷的擴大本身的隊伍和職能,這也是致使自動化測試比較流行的緣由之一。可是不少企業作自動化測試並不能真正解決企業面臨的問題或者說對自動化測試的理解並不夠。雖然我從事自動化測試工做的年限也不是好久,可是仔細想一想作的好的自動化測試的企業還真有一些,好比BAT,可是不少小型互聯網公司作自動化測試就不必定有意義了,在我看來,他們是爲了自動化測試而自動化測試。由於UI層的自動化測試不是單一作戰,而是和server層,unit層協同做戰!php

  自動化測試在作以前須要進行嚴格的考慮,不論是系統的穩定性仍是人力配備都是參考點。不能把全部的責任都放到UI層測試,每個階段(單元層/接口層)都要作好自動化測試,這樣作自動化測試的結果纔有意義。而偏偏相反的是如今是不少公司不作單元測試和接口測試,直接作UI層的自動化測試,我堅信這樣產生的結果必定是是勞民傷財並且意義不多的。python

  根據本身對自動化測試的多年實戰經驗和作過的測試項目獲取的經驗總結,在此,對自動化測試進行了一些闡述,不喜勿噴。web

寫的比較簡潔,並且這些點確實是任何一個管理者在招聘時應該考量的點(本篇文章面向有測試經驗的同窗瞭解)chrome

今天咱們從如下幾個方面來聊一聊自動化測試。數據庫

1、自動化測試定義
2、什麼樣的項目適合作自動化測試  
3、自動化測試對比手工測試的優缺點
4、市場上主流的自動化測試工具介紹
5、Selenium家譜及工具介紹
6、Selenium自動化測試環境搭建

1、自動化測試定義編程

自動化測試是通工具錄製或編寫腳本的方式模擬手工測試的過程,經過回放或運行腳原本執行測試用例,從而代替人工對系統的功能進行驗證.

2、什麼樣的項目適合作自動化測試windows

  1.需求明確,不會頻繁變動   2.系統界面穩定   3.項目週期長   4.自動化測試腳本可重複利用   5.人員規模   6.頻繁的迴歸測試   7.可自動化率30%-40%

3、自動化測試對比手工測試的優缺點後端

自動化測試特色:api

  1.提升軟件質量   2.提升測試效率   3.測試具備一致性和重複性   4.準確可靠、避免人的主觀性   5.24h*365 任什麼時候間 任何地點 無疲勞   6.增長軟件信任度   7.增進測試人員和開發之間的合做關係

手工測試特色:瀏覽器

  1.較好的異常處理能力、比較靈活   2.測試具備必定的跳躍性   3.人工測試步步追蹤,細緻定位   4.主要用於發現軟件缺陷

4、市場上主流的自動化測試工具介紹

1.QTP(UTF) :提供錄製、回放、支持C/S ,B/S兩種架構系統,收費,須要破解,只支持ie瀏覽器(ie9如下) 2.Robot Framework : 支持關鍵字驅動,Python語言編寫的一款自動化測試框架,支持數據庫測試,移動端測試,接口測試 3.RFT :(和Qtpl相似),支持錄製和回放,支持C/S B/S兩種架構的系統,收費,須要破解,支持Java .net vbscript語言 4.Watri : 也是一款Web應用程序的自動化測試工具,使用Ruby語言開發的一款自動化測試工具(Ruby是日本編程語言) 5.Selenium(目前最火) :   a.支持多語言:Java Python C C++ C# php Javascript Ruby (後端開發語言)   b.支持多瀏覽器:Chrome Firefox Ie Safari Edge(windows10自帶) Opera(原名歐朋 現被360收購)   c.支持多平臺:Linux Windows Mac OS   d.簡單API : 不少操做瀏覽器的方法(webdriver api ) 好比最大化瀏覽器 等待 操做下拉框等等 ......   e.支持並行執行測試用例:能夠在windows下面谷歌瀏覽器作自動化測試同時也能夠在Liunx火狐瀏覽器作自動化測試   f.開源、免費、支持二次開發(能夠對selenium的源碼進行改造)

5、Selenium家譜及工具介紹

Selenium是什麼? Selenium是一個自動化測試工具集。包含Selenium1.0 Selenium2.0 selenium3.0,其中Selenium1.0包含Selenium ide Selenium grid selenium rc Selenium2.0包含Selenim1.0 + Webdriver Selenium1.0的構成 : selenium ide + selenium grid + selenium rc     ide :提供錄製和回放的一個工具(火狐瀏覽器自帶的一個插件)     grid:支持並行執行測試用例     rc:能夠簡單理解爲控制瀏覽器行爲的一個遠程服務器 Selenium2.0的構成:Selenium1.0 + Webdriver Webdriver:它是一套操做瀏覽器的api(接口規範) 包含了控制瀏覽器行爲的一些操做方法(好比最大化瀏覽器 等待 操做下拉框等等 ......) 補充一點:firefox46版本如下的驅動是自動集成在瀏覽器自己的。
Selenium3.0的構成(2016年7月末出現第一個beat版本): Selenium3.0=Selenium ide + Selenium grid + Sebdriver     1.去掉了RC,全面支持webdriver     2.支持Java8以上的開發環境     3.Firefox的驅動和selenium分離。只支持firefox47版本以上的瀏覽器,另外須要單獨配置驅動。

 

瀏覽器驅動是什麼?
  每一種瀏覽器都有本身的原生瀏覽器驅動,驅動是一個.exe文件 好比谷歌的驅動 chromedriver.exe 須要單獨下載驅動(網上下載)作自動化測試須要調用瀏覽器的驅動來完成!

RC和webdriver區別是什麼?
    RC:是經過外部一大堆JS函數來調用瀏覽器作自動化測試
    Webdriver:是經過原生瀏覽器驅動來調用瀏覽器作自動化測試
    Webdriver和瀏覽器的緊密結合度比RC更好,因此在selenium中主推webdriver,在selenium2.0當中主推的是webdriver 
    由於RC最開始有一部分用戶爲了保持向下兼容,因此RC沒有徹底去掉。

Selenium2.0 和Selenium3.0區別不是很大,具體看Selenium3.0的構成! 目前市場上說selenium或者是招聘網上說的selenium無特殊指明,均爲selenium2.0或者3.0 來。咱們看一張圖。

 

6、Selenium2.0 自動化測試環境搭建

1.cmd ---> pip install selenium==2.53.0 (若是selenium後面不跟==表示默認安裝最新版本) 2. pip show selenium 查看selenium安裝的版本號(該操做在cmd->windows下面查看) (注意:1.pip 是什麼? pip是python2.7.9版本之後自動集成到python中的一個包管理工具,方便下載和python有關的包或者模塊) 3.驗證環境是否安裝成功python交互模式下--->輸入from selenium import webdriver -->運行無報錯(安裝成功) 4.配置瀏覽器驅動,這裏咱們教學使用的chrome瀏覽器,目前最新的版本是63.0.3239.84(正式版本) 6.直接將chromedriver.exe (chromedriver.exe原封不動複製到C:\Python27目錄下面) 7.在idle編輯器裏面敲一段代碼:     from selenium import webdriver     driver = webdriver.Chrome()     driver.get('https://www.baidu.com') 運行無報錯,說明安裝成功!
相關文章
相關標籤/搜索