您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
怎樣開始用selenium進(jìn)行自動(dòng)化測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/5/16 13:40:39 ] 推薦標(biāo)簽:功能測(cè)試

  作為一個(gè)之前沒接觸過selenium的新手來說,如果之前有過寫代碼的經(jīng)驗(yàn),那么學(xué)習(xí)起來會(huì)更加快速!但無論如何,開始總是比較難的!

我也是從一個(gè)接近純24K小白成長(zhǎng)起來的,一步一個(gè)腳印,在這個(gè)過程中我學(xué)習(xí)到了很多新的知識(shí),有了新的突破,新的成長(zhǎng),不斷地努力,不斷地嘗試,不斷地總結(jié)經(jīng)驗(yàn),讓我一直走到了,未來,還有很多路要走!義無反顧,我的測(cè)試之路!

  所以,抽空回顧一下我的selenium學(xué)習(xí)過程,也是,selenium自動(dòng)化測(cè)試怎么開始,這些,是我的個(gè)人經(jīng)驗(yàn),分享出來給大家參考!

  1.一開始,基本上很多人都是用selenium IDE錄制腳本開始的,我也是!有一本書寫得很不錯(cuò):selenium初學(xué)者指南!So,從錄制回放開始我的selenium,而在這個(gè)過程中,不斷地去補(bǔ)充我的html css知識(shí),熟悉selenium的api!

  2.慢慢地,發(fā)現(xiàn)錄制的腳本在回放的時(shí)候經(jīng)常報(bào)錯(cuò),通過檢查發(fā)現(xiàn),是定位上的錯(cuò)誤,導(dǎo)致這種定位的錯(cuò)誤的大原因是系統(tǒng)前端采用了某種框架,如tigerUI,exj....所以HTML里面的標(biāo)簽很多都是動(dòng)態(tài)的,比如id,class,name!這對(duì)selenium操作定位的元素而進(jìn)行自動(dòng)化來說是致命傷!

  3.所以,開始自己寫定位信息,這已經(jīng)是必須的了!從而學(xué)習(xí)了xpth和css選擇器,掌握了更加有效,快速和穩(wěn)定地定位頁(yè)面上的元素(定位的時(shí)候難免會(huì)碰到有iframe,這得先切換到iframe中再進(jìn)行定位了)!也是,在selenium IDE上寫腳本!

  4.信心滿滿地在selenium IDE上寫了長(zhǎng)長(zhǎng)地一段腳本,并且反復(fù)跑都能成功!總算嘗到了一點(diǎn)點(diǎn)幸福的滋味!然后呢,問題來了,當(dāng)我要修改和擴(kuò)展這段的腳本的時(shí)候,才發(fā)現(xiàn)這效率是相當(dāng)?shù)氐!一句句查!一句句改!多么痛的領(lǐng)悟!

  5.另外,selenium IDE 默認(rèn)啟動(dòng)的是火狐,在使用selenium RC 啟動(dòng) IE 進(jìn)行跑腳本時(shí)瀏覽器總是會(huì)報(bào)錯(cuò)!各種搞不定,各種不淡定!決定放棄使用IDE!

  6.selenium有一個(gè)強(qiáng)大之處是支持多種語方:java,C#,python等等,并且可以把錄制的腳本轉(zhuǎn)換成代碼!我用的是java,果斷走起!

  7.不用說,當(dāng)然是把腳本轉(zhuǎn)為java代碼了,在Eclipse中重新開始搞!

  8.選擇一個(gè)測(cè)試框架:有Junit和TestNg兩個(gè)選擇,公司用的是junit,所以,不用多說,我用junit驗(yàn)證selenium腳本的運(yùn)行結(jié)果!并且,Junit和TestNG都可以生成比較直觀的測(cè)試報(bào)告!

  9.寫好一些代碼,會(huì)看到整段代碼中密密麻麻充斥著基本相同的代碼:開始封裝代碼!把常用到API封裝起來!封裝好之后代碼看著舒服多了!

  10.接下來,是不是也應(yīng)該把代碼中的定位信息用一個(gè)專門的文件放起來,再去讀取里面的定位信息,這樣,維護(hù)代碼和維護(hù)定位信息放在了兩個(gè)地方,不用老是扎在代碼和定位路徑中,簡(jiǎn)單地分一下層!果斷嘗試!

   11. 到這里,腳本寫出來了,常用的api封裝起來了,定位路徑分離出來了!整個(gè)代碼簡(jiǎn)潔多了!寫起來容易和舒服多了!這時(shí)候,該個(gè)性化定制一下自己的框架了,這里,暫時(shí)不寫下去了,已經(jīng)離怎樣開始selenium挺遠(yuǎn)的了!或許,到了這一步,你早有自己對(duì)測(cè)試框架的想法和對(duì)腳本的設(shè)計(jì)方法了。。。。加油吧,把想法化為實(shí)際的動(dòng)力,繼續(xù)向前!

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd