新手學習selenium路線圖(老司機親手繪制)


前言:

最近群里有不少小白,想入手selenium,但是一直沒找到學習路線,還沒入門就迷路了,於是小編親手繪制了一幅學習路線圖。希望能幫助小白快速入門,幫助已經入門的,盡快提升!

 

學習selenium主要分五個階段,自己在哪個層級,可以對號入座下。

第一階段:幼兒園   1.選語言:在學習自動化前,先要選一門語言學習,而不是選什么工具,學習selenium,目前最流行的是java和python,至於選哪個,看自己的愛好了,這里就不說哪個語言好(php才是最好的語言)。小編是半路出家,沒什么語言基礎,所以選的python作為自動化入門的腳本語言。

   2.python:選好語言之后,接下來就是學習基礎的語法了,目前市面上python腳本分為2個:python2和python3,區別到不是很大,新手的話建議python2吧,有一定解決問題能力的小伙伴可以直接入手python3

      3.python基礎:選好python版本后,接下來就是python的基礎學習了,python的基礎教程目前網上有非常成熟的學習教程了,適合新手 的教程小編推薦2個:第一個是廖雪峰的,這個可以說是國內比較成熟的,並且適合小白入門的課程了http://www.liaoxuefeng.com /;另外一個網站是python菜鳥教程http://www.runoob.com/python/python-tutorial.html。基礎的東西主要包括:print、變量、數據類型、for、if、while這些,這些基本的了解了,差不多就可以上手了。

      4.selenium:接下來就是學習selenium了,selenium目前有三個版:selenium1也就是selenium RC這個已經很古老了,不用浪費時間去研究了;然后是selenium2,這個是目前最流行的了;最近出的selenium3,其實selenium2區別不大,主要是啟動firefox會遇到兩個坑,剛入手的小白估計踩到坑里就爬不起來了。試下一下,好不容易環境搭建好了,結果啟動firefox報錯,簡直就是當面一盆子冷水潑過來。好不容易解決完前面的一個坑,然后又有第二坑。所以小白入手selenium推薦selenium2

 

第二階段:小學 

5.selenium API:很多小伙伴學習自動化喜歡先用錄制的工具,學自動化錄制是  最不靠譜的,舉個簡單例子:如果一個元素的id是動態的,你這次錄制好了,回放時候,元素id已經變了,這時候不管你怎么回放都是不成功的。所以錄制這玩意,了解下原理就可以了,不用花時間去研究。學習selenium,我們直接去看api文檔就行。

 

   6.元素定位:selenium提供了八種元素定位:id、name、class、tag、link、patail_link、xpath、css.對於元素定位不太懂的這個時候需要用到firepath和firebug來輔助定位,這時候就需要補充下html的知識了,對html越熟悉,你定位元素越快。先是通過簡單的元素屬性定位,后來你發現有些元素的屬性沒有,或者很多重復,被我們的開發同學不規范的代碼坑的不要不要的,這時候就得學xpath了

      7.xpath:xpath定位基本上可以解決80%的元素定位問題,但也不是萬能的,很多小伙伴剛接觸時候,簡直就是當成寶。xpath可以看成定位界的寶刀屠龍,雖然威力大,但是比較笨重,定位元素慢,語法很長,還不穩定,也是被坑的不要不要的,這時候有必要去學習下css了

 

第三階段:中學

   8.css:css定位速度快,穩准狠,定位界的倚天劍,輕巧,語法簡潔。但也不是萬能的,有些模糊匹配的地方,還是得靠xpath大哥來搞定

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

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

   11.unittest:前面都是簡單的操作,無法生產測試用例,是時候找個測試框架幫我們運行用例了,於是就依靠unittest

   12.測試報告:用例執行完之后,總得有個測報告吧,這時候需要用到html的測試報告

   13.發送郵件:報告生成好之后,我總不能每次去電腦上打開查看吧,是時候學習下自動發送郵件了

 

第三階段:高中

   14.函數:前面簡單的用例搭建好之后,寫用例時候,發現每次重復操作更記流水賬一樣,這個時候就要學習函數了,把常用的方法寫成函數調用

   15.類和方法:當函數寫多了后,發現不少很方便,能不能把常用的操作寫到一塊,需要哪個直接調用呢,這時候就得學習類和方法了

   16.參數化:用例優化的差不多時候,發現測試數據想改下,找起來好麻煩,於是想到把測試數據分離出來,用到參數化

   17.數據驅動:參數化后,緊接着就是數據驅動啦,用例寫好后,僅需維護測試數據就可以了

 

第四階段:大學

  18.封裝:常用的方法已經非常熟練了,這時候需要封裝了

  19.jenkins:當用例寫的差不多后,最后肯定是希望能一鍵執行,這時候,需要用到jenkins來做持續集成

 

  20.代碼倉庫:多人一起做自動化項目時候,這時候需要代碼同步,於是會遇到svn、git工具

 

 

第五階段:研究生

  21.js:前面selenium東西學完之后,發現很多場景是selenium無法完成的,比如瀏覽器的滾動條,這時候需要學js啦。。。

  22.學無止境:接下來要看個人的研究方向了,學無止境。。。

 那么問題來了:這么多東西,如何下手呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM