qileilove

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

          淘寶新自動化測試框架AutoRobot簡要介紹

            一、自動化測試發展
            自動化技術在不斷的發展,從簡單的錄制回放到數據驅動到關鍵字驅動,再到模型驅動,每一次自動化技術的發展都會帶來自動化測試工具的革新,而每一次新的測試工具的誕生都會帶來新的突破,新工具的出現帶來了新的體驗但是也不可避免的有一些缺陷,正是因為此,才推動測試框架不斷的完善,強大,下圖展示了基于GUI的功能自動化測試技術的發展:
            二、淘寶自動化測試框架發展
            隨著自動化技術的發展,淘寶自動化測試框架也在不斷的完善,從Tcommon到Automan再到現在的AutomanX,測試框架的完善帶來的是自動化效率的提升,相對來說,AutomanX已經相當的完善了,但是AutomanX是一個集成化,模塊化的的測試平臺,需要測試人員具備一定的編碼能力,并且對mvn,junit,spring等技術有一定的了解才可以進行測試腳本的編寫,同時,AutomanX是基于pageModel的,在進行腳本編寫時,需要先建立pageModel,增加了腳本編寫的工作量,基于此,我們又開發了新的自動化測試框架AutoRobot,來完善AutomanX的這些問題。下圖展示了淘寶自動化測試框架的發展概覽:
            三、AutoRobot介紹
            1.功能介紹
            AutoRobot是關鍵字驅動的測試框架,核心基于Selenium2.0。AutoRobot針對不同能力的測試人員提供兩種腳本設計方式,一種為NoCoding方式,通過選擇頁面元素及對應操作來完成測試步驟的設計,另外一種為傳統的Coding方式,通過編寫代碼完成測試腳本設計,無論使用哪種方式,AutoRobot都支持自定義的關鍵字設計,除了框架提供的統一的關鍵字定義外,不同業務可以根據業務需要設計適合自己的關鍵字,下圖展示了AutoRobot的主要功能:
          2.整體架構
            AutoRobot使用Selenium進行元素交互,使用Freemaker進行操作步驟和測試代碼轉換,使用junit進行測試用例組織,使用chrome插件進行頁面元素自動拾取,在這些基礎之上AutoRobot支持各種關鍵字的擴展,整體的架構如下圖所示:
            3.NoCoding腳本設計
            AutoRobot使用Chrome插件進行元素拾取,使用關鍵字定義進行元素操作,設計好的測試步驟可以轉化為自然語言描述的操作步驟,可以轉化為java測試方法,還可以轉化為XML語言描述的測試步驟,設計好的測試步驟如下圖:
            4.Coding模式腳本設計
            使用Coding模式設計腳本,可以完全不需要在WEB上進行操作,但是最好的方式是先使用NoCoding的方式設計好測試步驟,再利用AutoRobot提供的java工程下載功能,將轉換為java工程的測試下載到本地,如下圖
            下載完成后解壓縮,使用IDE導入工程,可以看到一個完整的測試工程,如下圖所示
            通過AutoRobot下載的java工程是一個完全可運行的工程,如果對自動轉換的腳本需要進行修改完善,可直接再導入后的工程中進行修改編譯,下圖展示的是AutoRobot自動轉換的腳本
           四、AutoRobot特點
            相比AutomanX,AutoRobot具有以下特點
            1.基于關鍵字驅動方式item.operation(value)原理,使得腳本、業務、數據分離,有效提升了系統的可擴展性
            2.通過Chrome插件的方式進行頁面元素定位自動拾取,降低頁面元素拾取與定位的難度
            3.使用原生selenium元素查找方式,弱化pageModel概念,無需手動建立pageModel,極大的節省了pageModel建立維護的時間,同時提高了元素定位的效率
            4.支持NoCoding與Coding并存的用例開發模式,極大提升了用例編寫的靈活度和降低用例開發的難度
            5.測試用例xml化,自然語言描述化,便于用例手動重現
            6.整個系統采用Web系統 & Chrome插件 & 核心框架,秉承高內聚、低耦合理念,極大的提升了代碼的可維護性和可擴展性
            7.More and more in the future...
            試用地址:http://daily.kelude.taobao.net/pf/(只支持阿里內部使用)
            有任何意見或者建議,可以直接留言,謝謝
            五、如何部署
            1. Chrome插件(Noselector.crx)安裝
            地址: \\10.232.23.62\軟件備份\PC自動化框架組\5_Software   或者通過云盤下載:http://yunpan.alibaba-inc.com/group/106778
            打開Chrome瀏覽器的擴展chrome://extensions/,拖動Noselector.crx到擴展頁面即可安裝,安裝成功后可看到如下圖標
            2. 操作步驟編輯
            元素步驟頁面,待測網址中輸入測試頁面,進入待測頁面后,先點擊元素定位器輸入框,再點擊Chrome插件圖標開啟插件,然后點擊元素,則元素定位方式會自動填入元素定位器輸入框中,如下圖所示
            AutoRobot元素定位器展示方式使用Jquery的語法,如果不喜歡抓取的方式,可以直接再元素定位器中進行編輯。
            如果要操作瀏覽器或者是自定義的控件類型,則無需編輯元素名稱和定位器,在元素類型中選擇broswer,然后在操作中選擇對應的方法即可,比如登錄操作被封裝在了broswer中,如果需要進行登錄操作,在類型中選擇broswer,在操作中選擇login,在參數值中輸入用戶名和密碼,使用逗號隔開,輸入完成后保存即可
            3. 下載java工程
            通過AutoRobot寫自動化用例一般不需要測試人員創建測試工程,但是有時為了調試腳本,增強腳本的健壯性,可擴展性,或者為了增強自身的編碼能力,也可以先使用AutoRobot編寫好測試用例,然后下載測試工程,使用傳統coding方式進行腳本編寫。
            選擇某個測試項目,點擊“下載Java工程”,即可下載該項目對應的測試工程,如下圖所示
            “下載Java工程”會將測試項目工程壓縮后下載到本地,解壓縮后,使用eclipse的導入工程,將測試工程導入eclipse,導入成功后,則可以在eclipse中進行測試腳本的編寫。

          posted on 2014-06-25 11:40 順其自然EVO 閱讀(1782) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄selenium and watir webdrivers 自動化測試學習

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 高安市| 灵石县| 阿拉善右旗| 合川市| 湘西| 林周县| 城市| 昆明市| 静海县| 定兴县| 疏勒县| 肥乡县| 扎囊县| 泰州市| 镇平县| 喜德县| 康乐县| 肥西县| 兴国县| 怀柔区| 永年县| 公主岭市| 石屏县| 巫山县| 樟树市| 娱乐| 罗源县| 沂水县| 准格尔旗| 苍溪县| 延庆县| 上林县| 合川市| 玉门市| 巨野县| 腾冲县| 洪洞县| 涟源市| 双鸭山市| 合山市| 石家庄市|