作為一個之前沒接觸過selenium的新手來說,如果之前有過寫代碼的經驗,那么學習起來會更加快速!但無論如何,開始總是比較難的!
我也是從一個接近純24K小白成長起來的,一步一個腳印,在這個過程中我學習到了很多新的知識,有了新的突破,新的成長,不斷地努力,不斷地嘗試,不斷地總結經驗,讓我一直走到了,未來,還有很多路要走!義無反顧,我的測試之路!
所以,抽空回顧一下我的selenium學習過程,也是,selenium自動化測試怎么開始,這些,是我的個人經驗,分享出來給大家參考!
1.一開始,基本上很多人都是用selenium IDE錄制腳本開始的,我也是!有一本書寫得很不錯:selenium初學者指南!So,從錄制回放開始我的selenium,而在這個過程中,不斷地去補充我的html css知識,熟悉selenium的api!
2.慢慢地,發(fā)現錄制的腳本在回放的時候經常報錯,通過檢查發(fā)現,是定位上的錯誤,導致這種定位的錯誤的大原因是系統(tǒng)前端采用了某種框架,如tigerUI,exj....所以HTML里面的標簽很多都是動態(tài)的,比如id,class,name!這對selenium操作定位的元素而進行自動化來說是致命傷!
3.所以,開始自己寫定位信息,這已經是必須的了!從而學習了xpth和css選擇器,掌握了更加有效,快速和穩(wěn)定地定位頁面上的元素(定位的時候難免會碰到有iframe,這得先切換到iframe中再進行定位了)!也是,在selenium IDE上寫腳本!
4.信心滿滿地在selenium IDE上寫了長長地一段腳本,并且反復跑都能成功!總算嘗到了一點點幸福的滋味!然后呢,問題來了,當我要修改和擴展這段的腳本的時候,才發(fā)現這效率是相當地低!一句句查!一句句改!多么痛的領悟!
5.另外,selenium IDE 默認啟動的是火狐,在使用selenium RC 啟動 IE 進行跑腳本時瀏覽器總是會報錯!各種搞不定,各種不淡定!決定放棄使用IDE!
6.selenium有一個強大之處是支持多種語方:java,C#,python等等,并且可以把錄制的腳本轉換成代碼!我用的是java,果斷走起!
7.不用說,當然是把腳本轉為java代碼了,在Eclipse中重新開始搞!
8.選擇一個測試框架:有Junit和TestNg兩個選擇,公司用的是junit,所以,不用多說,我用junit驗證selenium腳本的運行結果!并且,Junit和TestNG都可以生成比較直觀的測試報告!
9.寫好一些代碼,會看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之后代碼看著舒服多了!
10.接下來,是不是也應該把代碼中的定位信息用一個專門的文件放起來,再去讀取里面的定位信息,這樣,維護代碼和維護定位信息放在了兩個地方,不用老是扎在代碼和定位路徑中,簡單地分一下層!果斷嘗試!
11. 到這里,腳本寫出來了,常用的api封裝起來了,定位路徑分離出來了!整個代碼簡潔多了!寫起來容易和舒服多了!這時候,該個性化定制一下自己的框架了,這里,暫時不寫下去了,已經離怎樣開始selenium挺遠的了!或許,到了這一步,你早有自己對測試框架的想法和對腳本的設計方法了。。。。加油吧,把想法化為實際的動力,繼續(xù)向前!