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 插件可以獨立作這個事情。