我在前面說過基于錄制、回放的web測試麻煩多多,經(jīng)常是帶來的好處不如麻煩多。所以另尋他途。經(jīng)過一番調(diào)研,覺得webdriver(也即selenium 2.0)前途較好,準(zhǔn)備試用。webdriver支持多種語言,我們的項(xiàng)目是基于java編寫的,按說用java能夠更好的和項(xiàng)目集成。但考慮到剛開始用,快速上手很有必要,使用環(huán)境越輕量級(jí)越好。于是采用watir——Web Application Test In Ruby。我對ruby的了解僅限于聽說過這個(gè)名稱,好在網(wǎng)上有不少教程,而且快速展開測試也并不需要多深入的學(xué)習(xí)語言本身。使用ruby還有個(gè)好處就是它是一種解釋性語言,可以即時(shí)調(diào)試。

安裝沒什么難度(其實(shí)比網(wǎng)上的一些例子更容易,因?yàn)榘姹靖吡耍芏喙ぷ鞑挥脺?zhǔn)備了)
1.安裝ruby,最新2.1,我裝的是2.0。一路next完成。(devkit貌似不裝也可以)
2.gem update --system (不升級(jí)也可以,自帶的版本也夠)
3.gem install watir 以及gem install watir-webdriver (可以用gem list看一下,如果已經(jīng)包括了,這步也省了)
4.如果需要用ie和chrome測試,那么下載這兩個(gè)的驅(qū)動(dòng):地址是,ie的:http://code.google.com/p/selenium/downloads/list chrome的:http://chromedriver.storage.googleapis.com/index.html
(關(guān)于chrome驅(qū)動(dòng)得多說兩句——因?yàn)檫@個(gè)問題費(fèi)了我十幾個(gè)小時(shí)的腦力。這個(gè)地址是我排查錯(cuò)誤時(shí)找到的。網(wǎng)上大部分說法是在這里下http://code.google.com/p/chromedriver/downloads/list。但是這里搜到的最高版本才2.3,當(dāng)chrome版本超過30,就不適用了。所以我用chrome測試失敗之后,嘗試很久才發(fā)現(xiàn)是驅(qū)動(dòng)版本問題。驅(qū)動(dòng)版本并非越高越好,要在上面我給出的地址里找到和chrome版本對應(yīng)的驅(qū)動(dòng)才行)
下面說說我在簡單試用中發(fā)現(xiàn)的問題和最后的解決辦法。
1.chrome驅(qū)動(dòng)算一個(gè),不重復(fù)了。
2.大多時(shí)候我們快速開始于一些簡單的例子。比如測試百度、google。因?yàn)檫@兩個(gè)頁面看上去似乎非常簡單,一個(gè)文本輸入框,一個(gè)檢索按鈕。然而,打開百度、google首頁的源代碼,我們發(fā)現(xiàn),這些頁面內(nèi)容遠(yuǎn)比展現(xiàn)出來的復(fù)雜的多,頁面元素一層一層嵌套,想找個(gè)id和name都不容易。所以開始給我造成一些迷惑以至于讓我對webdriver頗為憂慮。
舉個(gè)例子,我用一段腳本在ie里執(zhí)行沒問題,換到firefox就不行。讓我對使用watir進(jìn)行瀏覽器兼容性測試沒了信心。如果換瀏覽器還要重新調(diào)試腳本的話,那么跟手工做沒太大區(qū)別了。后來經(jīng)過仔細(xì)調(diào)試,發(fā)現(xiàn)是因?yàn)椤猧e驅(qū)動(dòng)的容錯(cuò)性更好導(dǎo)致的差別。具體來說,是頁面中有元素的name屬性重名,在ie里就正確識(shí)別出來了,而在firefox就報(bào)錯(cuò)了。都改用id屬性就可以了,這樣腳本就通用了。
3.然而更詭異的事情繼續(xù)發(fā)生。一段腳本前一天執(zhí)行還沒問題,后一天就不行了。或者換臺(tái)機(jī)器就不行了。這又是咋回事呢?經(jīng)過排查,發(fā)現(xiàn)在百度和google首頁中元素的id、name是變化的——我現(xiàn)在還沒仔細(xì)驗(yàn)證是根據(jù)訪問ip變化的還是根據(jù)訪問時(shí)段變化的。簡直是坑爹啊。好在測試自己的項(xiàng)目時(shí)不會(huì)發(fā)生這樣的事。所以網(wǎng)上大部分教程用百度、google首頁做例子并不適合,很容易調(diào)不通讓新手一頭霧水。
這樣一來,也給我們自己開發(fā)時(shí)提了個(gè)醒,頁面元素的id和name盡量唯一且固定。找到原因之后,我對watir有些信心了,在項(xiàng)目中準(zhǔn)備正式用了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:試用watir——由喜憂參半到柳暗花明-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article24/dccpje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、定制開發(fā)、做網(wǎng)站、商城網(wǎng)站、小程序開發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容