qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Web自動化測試之困

           標題借用《web之困》這本書名,借機吐槽一下在web自動化測試中遇到的各種不順暢。看了這本書,大感欣慰,因為終于有專家說出了我多年想說而不好意思說的話——現在的web應用就是建立在一堆胡亂拼湊的技術基礎之上的。
            從底層協議級就定義不周到渲染技術的五花八門;從古老的html、css、java applet、ActiveX到javascript、flash、sliverlight、html5;從瀏覽器的各顯神通到眼花繚亂的版本升級;從靜態到動態;從即時到異步,真是一個百家爭鳴、百花齊放啊。雖說給普通用戶帶來了賞心悅目的享受,可真苦了我們這些測試工程師了。手工做瀏覽器兼容性測試都不是一般的麻煩,更別提自動化了。十幾年前我每樣技術都嘗試去學習,后來發現我學的速度還趕不上技術新出的速度,于是我厭倦了,從此對web前端技術及其排斥。我幻想著某一天前端技術可以統一得象操作系統那樣規矩和穩定。不過看來一時半會還實現不了,所以厭倦歸厭倦,活還是要干的,所以幾年來我也在考慮這是非做不可的。于是前一篇提到的vs2010就是一個嘗試。當時考慮操作系統是ms家的、瀏覽器是ms家的、自動化工具是ms家的甚至C#語言也是ms家的,要是這樣還不順利,恐怕別的工具更別指望了。事實上,我還是低估了事情的復雜性。
            錄制/回放遇到的麻煩隨便列舉一下就有這些:
            只支持ie,且不能使用64位版本
            視圖縮放比例要求必須為100%
            不能識別flash插件
            各種意外(如窗口沒有在最前端、沒有最大化等、控件被阻止運行……)導致回放中斷
            建立自動化任務時不能在后臺運行(因為要在桌面環境真實啟動瀏覽器),所以管理員必須登錄。這樣一來,服務器一旦重啟就無法做到無人值守的繼續運行
            ……
            諸如此類,總之想順利走通一段自動化腳本可費勁了,經常是煩不勝煩
            為此我還總結出一堆錄制腳本的經驗,比如:
            把場景分割成每段盡量少操作的多個腳本文件
            盡量用鍵盤操作,少用鼠標操作
            屏幕上盡量少留無關窗口
            對于瀏覽器,盡量在同一個頁簽中操作,盡量避免彈出窗口造成主流程被干擾
            動作、腳本之間留的延時要足夠,比如連續執行兩條sql,就有可能第二條執行出錯
            ……
            但真要把這些問題都注意到了,費的心還不如手工來一遍算了。再說費這么大事只是為了回歸驗證以前的功能,確實有點得不償失。所以過后反思起來有這樣一些教訓:
            1.目標定位有偏差。借鑒自Apple Chow觀點:只保留少數幾個用來驗證端到端的集成場景的高級別冒煙測試,除此之外盡可能編寫底層的測試。
            2.工具不給力。當然如果有google的水平,自行探索和開發各式各樣的測試工具和框架那自然是厲害了,但是沒這水平啊,還是只能找現有的工具用。
            后續準備嘗試selenium。說到這里,就想起有的團隊成員提出經常換工具的困擾。——這個問題應該這樣看:使用工具是為了解決問題,是人的思想和能力去駕馭工具而不能讓工具限制了人的思想和能力。所以要去掌握事物的本質,那么換工具也會是經常和順理成章的事情。

          posted on 2014-02-19 10:42 順其自然EVO 閱讀(303) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2014年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          2324252627281
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 定襄县| 安庆市| 依兰县| 营口市| 湛江市| 莱西市| 库车县| 崇义县| 德保县| 改则县| 花莲县| 玉环县| 崇仁县| 大渡口区| 阜新| 镇原县| 延川县| 库尔勒市| 迁安市| 东光县| 根河市| 石狮市| 长垣县| 静海县| 阿克| 哈巴河县| 抚宁县| 岗巴县| 长丰县| 河北区| 博爱县| 商南县| 缙云县| 康定县| 故城县| 上林县| 开远市| 驻马店市| 荆州市| 璧山县| 台中市|