Nicholas @ BlogJava

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

          用 Selenium 進行功能測試

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

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

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

          waitForCondition 函數多用于 AJAX 的測試環境,這里通過這個函數達到一個小小的目的。

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

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

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


          評論

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

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

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

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

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

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

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

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

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

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

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

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

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

          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和當前頁面共同的父域名:acgchina.8866.org; 報錯:Access is denied

          請幫忙看看


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

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

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


          網站導航:
           
          主站蜘蛛池模板: 阳东县| 济阳县| 樟树市| 新津县| 青州市| 承德市| 郓城县| 宁德市| 莱阳市| 诸暨市| 霍林郭勒市| 富川| 三原县| 湖南省| 淮阳县| 通榆县| 江孜县| 武宁县| 康定县| 长丰县| 揭西县| 沁水县| 黄浦区| 甘德县| 科技| 南昌市| 册亨县| 南和县| 万载县| 洪江市| 东莞市| 大姚县| 买车| 敖汉旗| 伊通| 阿拉尔市| 澜沧| 水富县| 梅州市| 罗源县| 景泰县|