qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          淘寶新自動(dòng)化測(cè)試框架AutoRobot簡(jiǎn)要介紹

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

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 双峰县| 绥阳县| 靖西县| 西青区| 卢龙县| 临清市| 页游| 株洲市| 威宁| 克东县| 龙泉市| 东安县| 平凉市| 泸水县| 东乡| 鹿泉市| 澄城县| 三门县| 嘉祥县| 沁水县| 葫芦岛市| 法库县| 卢龙县| 冕宁县| 龙海市| 鄂温| 阳东县| 肥城市| 临夏县| 泗水县| 广灵县| 老河口市| 楚雄市| 闵行区| 海阳市| 广平县| 樟树市| 革吉县| 沧源| 宁城县| 溧水县|