公眾號-IT趕路人,專注分享跟IT相關(guān)的各種知識,希望我們一同學(xué)習,共同成長!

想學(xué)好Selenium自動化測試,應(yīng)該具備哪些條件,或者應(yīng)該朝哪個方向去努力?自動化測試的成長之路也可以分為測試3境界,基礎(chǔ)階段,進階階段和提升階段,基礎(chǔ)階段要求同學(xué)們掌握基礎(chǔ)的開發(fā)語言、測試技能;提升階段要求同學(xué)們能夠搭建簡單的測試框架,完成自動化測試用例的書寫,最后,提升階段就需要深入思考持續(xù)集成、效率、性能以及更高級挑戰(zhàn)的自動化測試用例的編寫。
基礎(chǔ)
具備一定的編程基礎(chǔ)是開發(fā)自動化測試的基礎(chǔ)?;A(chǔ)編程語言包括Java、Python、C#、Ruby和PHP等,Selenium可以和這些語言良好地結(jié)合起來,如果你完全沒有這些編程語言的基礎(chǔ),建議可以從Python入手,因為Python是一個比較容易上手、掌握的開發(fā)語言。

然后是學(xué)習Selenium,要搞清楚:
- Selenium是什么
- Selenium的框架結(jié)構(gòu)
- Selenium的開發(fā)語言,瀏覽器,驅(qū)動
Selenium是什么呢?一個B/S結(jié)構(gòu)的自動化測試工具,涵蓋了IDE、Grid、以及Web Driver。但主要需要學(xué)習的就是Web Driver,至于IDE大可不必付出專門的精力和時間。
然后需要學(xué)習一些前端知識:
- 因為Selenium支持多瀏覽器,所以還需要掌握一些前端知識,包括:
- HTML(網(wǎng)頁結(jié)構(gòu),標簽)
- XPath(基本的元素定位,正則匹配)
- CSS(簡單了解即可)
- JavaScript(簡單了解即可)
- Firebug(瀏覽器開發(fā)調(diào)試工具)的使用
- 網(wǎng)絡(luò)基礎(chǔ)知識
其中,前端結(jié)構(gòu),HTML標簽,還有一些簡單的CSS語法,這是學(xué)習Selenium的基礎(chǔ)。文檔Dom、Xpath就要定位元素,這個會經(jīng)常用到,也是熟練使用Selenium的一個關(guān)鍵。還需要了解Firebug,用于去查找/定位元素。因為Web測試的過程中都是需要訪問互聯(lián)網(wǎng)服務(wù)器,所以,網(wǎng)絡(luò)相關(guān)的基礎(chǔ)知識也要有一個簡單的認知。
提升
做自動化測試,第一個進階就是做數(shù)據(jù)驅(qū)動測試,這是一種編程思想,要求數(shù)據(jù)和腳本(執(zhí)行邏輯)進行分離。用什么來存儲、管理數(shù)據(jù)呢?例如xlrd、xlwt可以用來操作excel文件,xml庫來操作xml文件,把自動化測試相關(guān)的參數(shù)、數(shù)據(jù)存儲到excel或者xml中,就可以實現(xiàn)自動化測試的參數(shù)化。

配合文件配置模塊、日志模塊等就可以搭建一個簡單的自動化測試框架了。數(shù)據(jù)驅(qū)動測試基礎(chǔ)要求整理如下:

接下來,就是掌握腳本開發(fā)了,包括設(shè)計自動化腳本了,設(shè)計基礎(chǔ)框架,開發(fā)自動化測試,進行測試用例的驗證。
在回歸驗證的過程中,必須關(guān)注和解決持續(xù)集成的問題!這個時候,就需要用到Jenkins,它是持續(xù)集成業(yè)界里面的老大,包括執(zhí)行腳本、管理測試用例,發(fā)送郵件通知測試結(jié)果等!

進階
自動化測試的提升主要表現(xiàn)在效率、分布式、測試用例的管理,以及更有挑戰(zhàn)的測試用例編寫:

如上,UI測試用例一般比較多,而且執(zhí)行太慢,這個時候可以考慮分布式執(zhí)行;前臺界面管理測試用例與執(zhí)行等,可以學(xué)學(xué)Django框架;接口測試,需要學(xué)習掌握Request、Suds Socket等;更進一步,可以了解一下性能測試工具,如jmeter。
最后
基于Selenium的自動化測試,從基礎(chǔ)到精通需要掌握的基礎(chǔ)知識與技能已經(jīng)大概列了出來。每個環(huán)節(jié)、技能這里僅僅起到了提點的作用,更深入的知識還需要大家在實踐中深入。學(xué)到容易,靈活應(yīng)用難,前者是基礎(chǔ),后者是進階。
了解更多IT信息,請查看鏈接:https://www.itxiaonv.com/?p=132