我在前面說過基于錄制、回放的web測(cè)試麻煩多多,經(jīng)常是帶來的好處不如麻煩多。所以另尋他途。經(jīng)過一番調(diào)研,覺得webdriver(也即selenium 2.0)前途較好,準(zhǔn)備試用。webdriver支持多種語(yǔ)言,我們的項(xiàng)目是基于java編寫的,按說用java能夠更好的和項(xiàng)目集成。但考慮到剛開始用,快速上手很有必要,使用環(huán)境越輕量級(jí)越好。于是采用watir——Web Application Test In Ruby。我對(duì)ruby的了解僅限于聽說過這個(gè)名稱,好在網(wǎng)上有不少教程,而且快速展開測(cè)試也并不需要多深入的學(xué)習(xí)語(yǔ)言本身。使用ruby還有個(gè)好處就是它是一種解釋性語(yǔ)言,可以即時(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測(cè)試,那么下載這兩個(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測(cè)試失敗之后,嘗試很久才發(fā)現(xiàn)是驅(qū)動(dòng)版本問題。驅(qū)動(dòng)版本并非越高越好,要在上面我給出的地址里找到和chrome版本對(duì)應(yīng)的驅(qū)動(dòng)才行)
下面說說我在簡(jiǎn)單試用中發(fā)現(xiàn)的問題和最后的解決辦法。
1.chrome驅(qū)動(dòng)算一個(gè),不重復(fù)了。
2.大多時(shí)候我們快速開始于一些簡(jiǎn)單的例子。比如測(cè)試百度、google。因?yàn)檫@兩個(gè)頁(yè)面看上去似乎非常簡(jiǎn)單,一個(gè)文本輸入框,一個(gè)檢索按鈕。然而,打開百度、google首頁(yè)的源代碼,我們發(fā)現(xiàn),這些頁(yè)面內(nèi)容遠(yuǎn)比展現(xiàn)出來的復(fù)雜的多,頁(yè)面元素一層一層嵌套,想找個(gè)id和name都不容易。所以開始給我造成一些迷惑以至于讓我對(duì)webdriver頗為憂慮。
舉個(gè)例子,我用一段腳本在ie里執(zhí)行沒問題,換到firefox就不行。讓我對(duì)使用watir進(jìn)行瀏覽器兼容性測(cè)試沒了信心。如果換瀏覽器還要重新調(diào)試腳本的話,那么跟手工做沒太大區(qū)別了。后來經(jīng)過仔細(xì)調(diào)試,發(fā)現(xiàn)是因?yàn)椤猧e驅(qū)動(dòng)的容錯(cuò)性更好導(dǎo)致的差別。具體來說,是頁(yè)面中有元素的name屬性重名,在ie里就正確識(shí)別出來了,而在firefox就報(bào)錯(cuò)了。都改用id屬性就可以了,這樣腳本就通用了。
3.然而更詭異的事情繼續(xù)發(fā)生。一段腳本前一天執(zhí)行還沒問題,后一天就不行了。或者換臺(tái)機(jī)器就不行了。這又是咋回事呢?經(jīng)過排查,發(fā)現(xiàn)在百度和google首頁(yè)中元素的id、name是變化的——我現(xiàn)在還沒仔細(xì)驗(yàn)證是根據(jù)訪問ip變化的還是根據(jù)訪問時(shí)段變化的。簡(jiǎn)直是坑爹啊。好在測(cè)試自己的項(xiàng)目時(shí)不會(huì)發(fā)生這樣的事。所以網(wǎng)上大部分教程用百度、google首頁(yè)做例子并不適合,很容易調(diào)不通讓新手一頭霧水。
這樣一來,也給我們自己開發(fā)時(shí)提了個(gè)醒,頁(yè)面元素的id和name盡量唯一且固定。找到原因之后,我對(duì)watir有些信心了,在項(xiàng)目中準(zhǔn)備正式用了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:試用watir——由喜憂參半到柳暗花明-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.2m8n56k.cn/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容