qileilove

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

          淘寶Android自動(dòng)化測(cè)試框架-TMTS

           2010年是淘寶無(wú)線(xiàn)突飛猛進(jìn)開(kāi)創(chuàng)無(wú)線(xiàn)新業(yè)務(wù)的一年。而從2011年初開(kāi)始,淘寶技術(shù)質(zhì)量部自動(dòng)化測(cè)試組便致力于手機(jī)自動(dòng)化框架的調(diào)研和開(kāi)發(fā)工作。TMTS(Taobao Mobile Test System)框架,正是嘗試從Android和IPhone入手,建立無(wú)線(xiàn)測(cè)試領(lǐng)域的自動(dòng)化測(cè)試整體解決方案。經(jīng)過(guò)前段時(shí)間的開(kāi)發(fā),及業(yè)務(wù)線(xiàn)試用,TMTS框架Android部分已經(jīng)趨于穩(wěn)定。而IPhone的自動(dòng)化框架也已經(jīng)開(kāi)發(fā)完成,目前正在業(yè)務(wù)線(xiàn)試用階段。
            本文重點(diǎn)介紹TMTS框架的Android部分,這部分目前已經(jīng)開(kāi)源。開(kāi)源鏈接: http://code.taobao.org/project/view/565/
            在框架開(kāi)發(fā)前,我們先是通過(guò)無(wú)線(xiàn)業(yè)務(wù)的同學(xué),收集了明確的需求:
            支持對(duì)release版本的測(cè)試。即不需要為自動(dòng)化測(cè)試專(zhuān)門(mén)打包。
            支持敏捷開(kāi)發(fā)和持續(xù)集成。每天自動(dòng)打包,自動(dòng)運(yùn)行測(cè)試用例,給出測(cè)試報(bào)告。
            支持內(nèi)嵌WebView的自動(dòng)化。淘寶有大量的應(yīng)用有WebView的場(chǎng)景,需要自動(dòng)化。
            在應(yīng)用退出時(shí)調(diào)用killProcess殺掉自已進(jìn)程,不應(yīng)影響自動(dòng)化測(cè)試的結(jié)果收集。
            之前也用過(guò)Robotium框架,但由于淘寶應(yīng)用的特殊性,導(dǎo)致自動(dòng)化能運(yùn)行,但最后的結(jié)果收集不到,除非把killProcess代碼注釋掉再編譯。
            針對(duì)上面的需求,TMTS使用Android SDK的Instrumentation機(jī)制作為自動(dòng)化框架的基礎(chǔ),保證測(cè)試工程可以在不改寫(xiě)和重編譯被測(cè)應(yīng)用的基礎(chǔ)上,與被測(cè)應(yīng)用運(yùn)行在同一個(gè)進(jìn)程里,從而達(dá)到自動(dòng)化測(cè)試的目的。針對(duì)淘寶無(wú)線(xiàn)的自動(dòng)化測(cè)試場(chǎng)景,我們對(duì)原有Android控件進(jìn)行了一次抽象,基類(lèi)為T(mén)mtsView,這里定義了所有控件共有的操作,如click等。對(duì)于SDK中能編輯文字的控件如TextView,EditText統(tǒng)一抽象為T(mén)mtsTextView。對(duì)于容器類(lèi)的View統(tǒng)一抽象為T(mén)mtsViewGroup,等等。簡(jiǎn)化了控件類(lèi)型的選擇,讓測(cè)試腳本更簡(jiǎn)單易讀。
            持續(xù)集成是自動(dòng)化測(cè)試框架走向企業(yè)級(jí)應(yīng)用的必經(jīng)之路,只有持續(xù)集成、每日回歸跑起來(lái)了,自動(dòng)化才能有收益。我們對(duì)Athena框架進(jìn)行了二次開(kāi)發(fā),加入了失敗詳情收集,失敗截圖上傳,和運(yùn)行異常處理的功能,并與hudson集成直接查看運(yùn)行結(jié)果。同時(shí)我們還把每日構(gòu)建也做起來(lái),從開(kāi)發(fā)的svn分支自動(dòng)打包,自動(dòng)測(cè)試,生成報(bào)表。這樣每天只要查看運(yùn)行結(jié)果就可以了,大幅度提高了效率。
            其它的很多功能,這里就不一一說(shuō)明了。通過(guò)下面的表,列舉TMTS,Robotium和Android Native Driver的特性與區(qū)別。

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 西和县| 鹤山市| 东明县| 布尔津县| 顺昌县| 曲沃县| 科尔| 东兴市| 同仁县| 英吉沙县| 侯马市| 聊城市| 安丘市| 敖汉旗| 津南区| 龙州县| 三原县| 团风县| 定襄县| 东兴市| 克什克腾旗| 永善县| 建始县| 汉沽区| 舞阳县| 八宿县| 宁化县| 丹棱县| 志丹县| 多伦县| 儋州市| 康马县| 阿勒泰市| 阜南县| 余江县| 伊川县| 南昌市| 临邑县| 绍兴市| 衡水市| 大庆市|