用 Selenium 進(jìn)行功能測(cè)試
Posted on 2006-11-02 16:34 Nicholas Ding 閱讀(3503) 評(píng)論(7) 編輯 收藏 所屬分類: 測(cè)試最近在用 Selenium 對(duì)剛完工的系統(tǒng)做功能測(cè)試,因?yàn)橹車?Selenium 的人太多了,所以想嘗試一下到底用起來怎么樣。Tin 的文章 Selenium做功能測(cè)試的一點(diǎn)討論 探討了 Selenium 使用的一些問題,我再作點(diǎn)補(bǔ)充。
1、關(guān)于跨域問題,因?yàn)槟壳巴旯さ南到y(tǒng)有這個(gè)需求,這個(gè)AJAX應(yīng)用需要啟用跨域訪問,當(dāng)然是繼承一個(gè)共同的父域。這時(shí)候就需要一個(gè)小小的 trick,手工給頁(yè)面設(shè)置一個(gè)父域,如 document.domain = xxx.com.cn,Selenium IDE 沒有這個(gè)問題是因?yàn)樗?FF 的插件,不想 RC 開了一個(gè) iframe 在進(jìn)行測(cè)試。那么如何在開始測(cè)試的時(shí)候執(zhí)行一段腳本呢?下面是這個(gè) trick:
waitForCondition("document.domain=xxx.com.cn;true", "3000")
waitForCondition 函數(shù)多用于 AJAX 的測(cè)試環(huán)境,這里通過這個(gè)函數(shù)達(dá)到一個(gè)小小的目的。
2、無法向 <input type="file"/> 里面輸入路徑。Tin 同學(xué)說如果這個(gè)能用會(huì)存在潛在不安全因素,的確沒錯(cuò)。但是 Mozilla 系列的瀏覽器通過插件可以實(shí)現(xiàn)這個(gè)功能,Selenium IDE 就可以做到,RC 目前無法完成這個(gè)功能,所以在測(cè)試中間如果涉及文件上傳的話就得另想辦法了。
3、Selenium RC 的 interactive 模式,這個(gè)模式可以讓你手工參與命令的執(zhí)行,你可以在測(cè)試過程結(jié)束后不要把瀏覽器關(guān)閉,轉(zhuǎn)而通過手工鍵入命令的形式作一些調(diào)試,還是非常有用的。
總結(jié)一下,使用 Selenium 的最好方式基本還是先通過 IDE 進(jìn)行錄制,然后轉(zhuǎn)換成代碼并且自己在修修改改。我個(gè)人認(rèn)為 IDE 提供的 xpath 功能是定位的最佳方式,但是我還沒有找到任何一個(gè) ff 插件可以獨(dú)立作這個(gè)事情。
1、關(guān)于跨域問題,因?yàn)槟壳巴旯さ南到y(tǒng)有這個(gè)需求,這個(gè)AJAX應(yīng)用需要啟用跨域訪問,當(dāng)然是繼承一個(gè)共同的父域。這時(shí)候就需要一個(gè)小小的 trick,手工給頁(yè)面設(shè)置一個(gè)父域,如 document.domain = xxx.com.cn,Selenium IDE 沒有這個(gè)問題是因?yàn)樗?FF 的插件,不想 RC 開了一個(gè) iframe 在進(jìn)行測(cè)試。那么如何在開始測(cè)試的時(shí)候執(zhí)行一段腳本呢?下面是這個(gè) trick:
waitForCondition("document.domain=xxx.com.cn;true", "3000")
waitForCondition 函數(shù)多用于 AJAX 的測(cè)試環(huán)境,這里通過這個(gè)函數(shù)達(dá)到一個(gè)小小的目的。
2、無法向 <input type="file"/> 里面輸入路徑。Tin 同學(xué)說如果這個(gè)能用會(huì)存在潛在不安全因素,的確沒錯(cuò)。但是 Mozilla 系列的瀏覽器通過插件可以實(shí)現(xiàn)這個(gè)功能,Selenium IDE 就可以做到,RC 目前無法完成這個(gè)功能,所以在測(cè)試中間如果涉及文件上傳的話就得另想辦法了。
3、Selenium RC 的 interactive 模式,這個(gè)模式可以讓你手工參與命令的執(zhí)行,你可以在測(cè)試過程結(jié)束后不要把瀏覽器關(guān)閉,轉(zhuǎn)而通過手工鍵入命令的形式作一些調(diào)試,還是非常有用的。
總結(jié)一下,使用 Selenium 的最好方式基本還是先通過 IDE 進(jìn)行錄制,然后轉(zhuǎn)換成代碼并且自己在修修改改。我個(gè)人認(rèn)為 IDE 提供的 xpath 功能是定位的最佳方式,但是我還沒有找到任何一個(gè) ff 插件可以獨(dú)立作這個(gè)事情。