Nicholas @ BlogJava

          Coding the future!
          posts - 1, comments - 7, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          用 Selenium 進行功能測試

          Posted on 2006-11-02 16:34 Nicholas Ding 閱讀(3503) 評論(7)  編輯  收藏 所屬分類: 測試
          最近在用 Selenium 對剛完工的系統(tǒng)做功能測試,因為周圍提 Selenium 的人太多了,所以想嘗試一下到底用起來怎么樣。Tin 的文章 Selenium做功能測試的一點討論 探討了 Selenium 使用的一些問題,我再作點補充。

          1、關(guān)于跨域問題,因為目前完工的系統(tǒng)有這個需求,這個AJAX應(yīng)用需要啟用跨域訪問,當(dāng)然是繼承一個共同的父域。這時候就需要一個小小的 trick,手工給頁面設(shè)置一個父域,如 document.domain = xxx.com.cn,Selenium IDE 沒有這個問題是因為他是 FF 的插件,不想 RC 開了一個 iframe 在進行測試。那么如何在開始測試的時候執(zhí)行一段腳本呢?下面是這個 trick:

          waitForCondition("document.domain=xxx.com.cn;true", "3000")

          waitForCondition 函數(shù)多用于 AJAX 的測試環(huán)境,這里通過這個函數(shù)達(dá)到一個小小的目的。

          2、無法向 <input type="file"/> 里面輸入路徑。Tin 同學(xué)說如果這個能用會存在潛在不安全因素,的確沒錯。但是 Mozilla 系列的瀏覽器通過插件可以實現(xiàn)這個功能,Selenium IDE 就可以做到,RC 目前無法完成這個功能,所以在測試中間如果涉及文件上傳的話就得另想辦法了。

          3、Selenium RC 的 interactive 模式,這個模式可以讓你手工參與命令的執(zhí)行,你可以在測試過程結(jié)束后不要把瀏覽器關(guān)閉,轉(zhuǎn)而通過手工鍵入命令的形式作一些調(diào)試,還是非常有用的。

          總結(jié)一下,使用 Selenium 的最好方式基本還是先通過 IDE 進行錄制,然后轉(zhuǎn)換成代碼并且自己在修修改改。我個人認(rèn)為 IDE 提供的 xpath 功能是定位的最佳方式,但是我還沒有找到任何一個 ff 插件可以獨立作這個事情。


          評論

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2006-11-02 17:30 by inlife.cn
          要是能給個視頻就很爽啊。

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2006-11-02 20:15 by netfishx[匿名]
          關(guān)于xpath,試試XPath Checker。是ff插件

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2006-11-02 21:25 by Nicholas Ding
          @netfishx[匿名]

          我試了,Selenium IDE 產(chǎn)生的 xpath 是以 // 開頭的,這點 ff 的其他 xpath 插件都沒法做到。

          Selenium 用的 xpath.js 是 Google 寫的,看過他的代碼,也是基于狀態(tài)機的實現(xiàn),非常不錯。

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2006-11-02 23:18 by Tin
          呵呵,如果潛心其中,對Selenium API了如指掌的話還是可以不用Selenium IDE進行測試的,哈哈。nicholas很有這個潛力:D

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2008-04-25 16:01 by amy
          "Selenium做功能測試的一點討論" 這篇文章怎么刪了嘛?訪問不了

          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2008-12-03 14:15 by brunce
          selenium.Open("xxxx");
          selenium.WaitForPageToLoad("10000"); selenium.WaitForCondition("document.domain='acgchina.8866.org';true", "3000"); //這句運行沒有問題
          selenium.Click("id=tab-quality-image");
          selenium.SelectFrame("id=quality"); //這個frame和當(dāng)前頁面共同的父域名:acgchina.8866.org; 報錯:Access is denied

          請幫忙看看


          # re: 用 Selenium 進行功能測試  回復(fù)  更多評論   

          2008-12-03 16:34 by brunce
          補充一點,這是在IE7里面,如果換到FF3, selenium.WaitForCondition("document.domain='acgchina.8866.org';true", "3000") 就會出異常。

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 沛县| 漳州市| 城口县| 东山县| 民勤县| 鸡泽县| 昭平县| 通海县| 防城港市| 江北区| 治县。| 阿拉善右旗| 唐河县| 临江市| 商南县| 新民市| 天峻县| 莆田市| 灌阳县| 肇源县| 汕尾市| 明溪县| 玛沁县| 杭锦后旗| 会理县| 栾城县| 大宁县| 余江县| 诏安县| 衡南县| 会理县| 化州市| 桐柏县| 龙山县| 铅山县| 怀来县| 沙湾县| 得荣县| 信丰县| 航空| 广州市|