老司機專為測試新手繪製的學習selenium路線圖(基礎普及篇)!

博為峰網校發表於2018-08-03

最近後臺有很多小夥伴留言 ,想 學習 selenium, 但是一直找不到思路和方法 ,還沒入門就迷路了,於是 親手 編寫了這篇學習路線圖 希望能幫助初學者快速入門,幫助已入門的朋友儘快提升。

學習之前,要弄懂 什麼是 Selenium?

Selenium是瀏覽器自動化工具,主要用來Web的自動化測試,以及基於Web的任務管理自動化。它支援的語言有:python、Java、ruby、JavaScript等,並且幾乎能在主流的瀏覽器上執行。

Selenium2.0、Selenium3.0主要由三大部分組成:SeleniumIDE、Selenium WebDriver、Selenoium Grid。

Selenium IDE :錄製和回放指令碼,可以模擬使用者對頁面的真實操作,區別於其他工具:是透過攔截 http請求。

一般只把錄製指令碼當作一個輔助功能,因為一個 UI節點的細微變化,都可能導致自動化測試工具無法識別,當測試專案專案大時,定位、更新十分困難。

其次,錄製的指令碼有時候人工難以理解。

Selenium Grid :實現在多臺機器上、和異構環境中並行執行測試用例。並行執行不僅節省時間,而且可以同時在不同的瀏覽器、平臺上執行自動化測試指令碼。

Selenium Web Driver :針對各個瀏覽器而開發,透過原生瀏覽器支援或者擴充套件( Chrome webDrive、FireFox WebDriver)直接控制瀏覽器

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

學習 selenium 5步走:

第一 :幼兒園 階段

1.選語言:在學習自動化前,先要選一門語言學習,目前最流行的是java和python, 我也 沒什麼語言基礎,選的 python作為自動化入門的指令碼語言。

2.python:選好語言, 就要 學習基礎的語法,目前市面上 python指令碼分為2個:python2和python3,新手的話建議python2

3.python基礎:選好python版本後,接下來就是python的基礎學習了,python基礎的東西主要包括:print、變數、資料型別、for、if、while這些,這些基本的瞭解了,差不多就可以上手了。

 

4.selenium:selenium目前有三個版:selenium1也就是selenium RC ,不用多說大家應該都知道 selenium2,目前最流行的;   出的 selenium3, selenium2區別不大,主要是啟動firefox會遇到兩個坑, 不大適合剛入手的小白, 所以 我推薦初學者 selenium2

第二 :小學 階段   

5.selenium API: 很多人 學習自動化喜歡先用錄製的工具, 但如果遇到動態元素的 id,回放便會失敗 。所以錄製 並不靠譜 ,瞭解下原理 即可 ,不 需花太多時間 。學習 selenium,我們直接去看api文件就行。

6.元素定位:selenium提供了八種元素定位:id、name、class、tag、link、patail_link、xpath、css. 小白如果不懂可以 firepath和firebug來輔助定位,先是透過簡單的元素屬性定位, 接著 就得學 xpath了

 

7.xpath:xpath定位基本上可以解決80%的元素定位問題。xpath可以雖然 作用 大,但是比較笨重,定位元素慢,語法很長,還不穩定, 這樣就 有必要去學習下 css了

第三 :中學 階段

8.  css:css定位速度快,穩準狠,輕巧,語法簡潔。但 還是 有些模糊匹配的地方,還是 要用 xpath

9.  操作元素:定位好元素之後接下來就是操作元素了,主要有困難的是滑鼠事件和鍵盤事件

10.判斷元素:操作完後,就是獲取返回結果了,或者是判斷元素是不是期望結果

11.unittest:測試框架幫我們執行用例

12.測試報告:用例執行完 後, html測試報告

 

13.  傳送郵件:報告生成好之後, 自動傳送郵件

第三 :高中 階段

14.函式:寫用例時, 解決 重複操作 問題 就需 把常用的方法寫成函式呼叫

15.類和方法:函式寫多, 可以 常用的操作寫到一塊, 按需直接呼叫   就要 學習類和方法 16.引數化: 想改 測試資料, 把測試資料分離出來,用到引數化

17.資料驅動:用例寫好後,僅需維護測試資料就可以了

第四 :大學 階段

18.封裝:方法熟練, 需要封裝了

19.jenkins:希望一鍵執行 用例 ,需要用到 jenkins來做持續整合

 

 

20.程式碼倉庫:多人 執行 自動化專案,需程式碼同步, 就要用 svn、git工具

第五 :研究生 階段

21.js:前面selenium東西學完, 但也會發現問題,比如: 瀏覽器的捲軸 很多場景是 selenium無法完成的, 需要學 js

 

22.學無止境: 根據個人的研究方向,進一步深度學習。

Selenium的 學習 很容易令人感到疲憊,許多測試會無故地失敗,讓這些測試得到正確的結果是非常繁瑣的工作,重複性的樣板程式碼令人提不起興致 ,這時就要挖掘自己的興趣,讓測試變得快樂。我 歸納 一個小技巧,就是聯想,或者說關聯思考?聯想有助於歸納你所學到的東西,並在需要的時候可以演繹出新的知識。聯想同型別的業務的現實,可能一開始沒有太多可以聯想的,但時間長了會好的 ,願你、我都能離夢想越來越近!

關注 51Testing軟體測試網,提升it技能,從不會到熟練只差一步。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2173187/,如需轉載,請註明出處,否則將追究法律責任。

相關文章