老司機專為測試新手繪製的學習selenium路線圖(基礎普及篇)!
最近後臺有很多小夥伴留言 ,想 學習 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 專為新手繪製的測試開發學習路線圖,想高薪看這篇!高薪
- 大資料分析/機器學習基礎之matplotlib繪圖篇大資料機器學習繪圖
- [效能測試] locust學習-基礎篇
- OpenGL 學習系列--基礎的繪製流程
- Java新手學習路線,0基礎學習Java怎樣效率更高?Java
- 【Android繪圖】繪圖之基礎篇(一)Android繪圖
- Java新手入門學習路線圖Java
- Python 基礎學習路線圖【有PDF版】Python
- Shader 繪製基礎圖形
- iOS 繪製漸變·基礎篇iOS
- Flutter繪製-12-動畫專項-基礎使用篇Flutter動畫
- 老司機談APK瘦身套路-專案優化篇APK優化
- 零基礎學習大資料人工智慧,學習路線篇!大資料人工智慧
- 軟體測試學習路線
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習
- 零基礎Python學習路線Python
- 深度學習量化交易---0.1.股票K線圖繪製深度學習
- canvas繪製圖片drawImage學習Canvas
- Java零基礎小白必看的學習路線圖,快速入門!Java
- Flutter Canvas學習之繪圖篇FlutterCanvas繪圖
- 軟體測試最全的影片原始碼,最新軟體測試學習路線圖分享原始碼
- 零基礎怎麼學Python?Python流行框架、學習路線圖Python框架
- WPF基礎:在Canvas上繪製圖形Canvas
- 軟體測試的具體學習路線
- 老司機的思考
- 年薪30W的軟體測試“老司機”工作經驗
- Flutter自定義繪製(1)- 繪製基礎Flutter
- 從零開始學AB測試:基礎篇
- Web前端開發零基礎入門學習路線圖Web前端
- 多年java開發經驗老司機告訴你,0基礎如何學Java?Java
- 零基礎web前端學習路線Web前端
- 學會使用 NumPy:基礎、隨機、ufunc 和練習測試隨機
- 一份web前端基礎的學習路線Web前端
- 我的機器學習入門路線圖機器學習
- (資料科學學習手札130)利用geopandas快捷繪製線上地圖資料科學地圖
- Python基礎學習篇Python
- 專線網路與家庭寬頻區別(基礎篇)
- 0基礎新手該如何學習Python?學習技巧!Python