<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

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

    初窺chromium中的自動(dòng)化測試設(shè)計(jì)

    性能方面的項(xiàng)目有:

      test_support_ui_project:

      提供一些UI的基本操作(功能)和性能相關(guān)內(nèi)容,主要是性能,收集幾種最終要的性能數(shù)據(jù);

      realibility_test_project:

      封裝test_support_ui中的性能測試內(nèi)容,對(duì)chrome進(jìn)行穩(wěn)定性測試,包括穩(wěn)定性測試,crash收集,報(bào)告等;

      執(zhí)行相關(guān)有:

      pyautolib_project:

      chrome相關(guān)的pythonUI測試框架,將uitest的C++導(dǎo)成python然后進(jìn)行執(zhí)行;

      webdriver_project/chromedriver_project:

      為外部網(wǎng)站測試提供支持,比如selenium,webdriver等;

      還有三個(gè)我覺得不錯(cuò)的和自動(dòng)化有關(guān)的部分:

      breakpad的引入:

      crash的收集報(bào)告框架,在測試框架中引用它,對(duì)測試過程中出現(xiàn)的crash進(jìn)行dump收集,并統(tǒng)一分析;

      IAccessible的實(shí)現(xiàn):

      使用代理方式在views庫中封裝IAccessible的接口,共外部進(jìn)行界面相關(guān)的獲取;實(shí)現(xiàn)方式和我在MASS實(shí)現(xiàn)中提到的一樣,繼承統(tǒng)一基類,注冊(cè),然后分別實(shí)現(xiàn)自己的UI支持;

      memory_watch:

      chrome中的內(nèi)存檢監(jiān)測小工具。

      大概先看了一個(gè)雛形,感覺里面的自動(dòng)化架構(gòu)設(shè)計(jì)很漂亮,雖然涉及到的部分很多,也很碎,但是看樣子chrome都已經(jīng)分而治之了。界面的功能和 性能,頁面的功能和性能,js的功能和性能,后臺(tái)數(shù)據(jù)的獲取和安全,頁面的渲染,插件的穩(wěn)定,性能數(shù)據(jù)的獲取和分析,dump的采集和報(bào)告,基本上每一個(gè) 部分都能深入去了解。有時(shí)間了慢慢的再研究一下。

    chromium開源項(xiàng)目部分的自動(dòng)化測試,對(duì)于學(xué)習(xí)自 動(dòng)化測試很有幫助,自動(dòng)化能涉及到的部分,或多或少都有覆蓋。對(duì)于像瀏覽器這樣的產(chǎn)品,尤其chrome(chromium)這樣的新概念瀏覽器,投入在 里面的自動(dòng)化測試,力度非常大。好不容易趕上一個(gè)不加班的周末,簡單的研究了一下;對(duì)一個(gè)產(chǎn)品來說項(xiàng)目工程不小,只能按自己的理解去關(guān)注自動(dòng)化的部分。

      白盒部分:

      和很多國外的產(chǎn)品一樣,白盒測試部分比重很大,整個(gè)chromium中的自動(dòng)化測試,白盒部分超過25%或者更多(沒有具體計(jì)算這個(gè)數(shù)字),白盒測試大概可以分為兩個(gè)類別,單元測試和交互測試,它們的測試框架不同,分別是gtest和google mock。

      核心工程:

       核心自動(dòng)化工程是automation,在chromium/src/chrome/test/下面,包含大部分自動(dòng)化測試的代理部分,所有內(nèi)部測試通 過ENABLE_AUTOMATION進(jìn)行編譯的開關(guān)。這個(gè)代理架構(gòu)上,是兩個(gè)UI相關(guān)的的架構(gòu),一個(gè)是對(duì)外的chrome界面的自動(dòng)化操作,一個(gè)是內(nèi)部 view的界面庫測試。代理的提供者在其他的自動(dòng)化項(xiàng)目中,automation下面的代理和非代理部分都有各自的提供者。chromium中的自動(dòng)化其 實(shí)是一套很不錯(cuò)的C++自動(dòng)化架構(gòu),準(zhǔn)確來說不是一套,但是大思路一致。其中:

      automation_proxy.h/.cc:

      自動(dòng)化的總代理,用來和提供者automation_provider.h/.cc進(jìn)行信息的交互,并且包含其他具體代理;代理是ipc的方式;

      browser_proxy.h/.cc:

      browser的代理,主要用來和browser的automation_provider進(jìn)行交互,測試chrome界面的主要部分,包括tab的處理等;

      tab_proxy.h/.cc:

      tab的代理,用來和tab的provider進(jìn)行交互,測試的應(yīng)該是固定tab頁內(nèi)的js相關(guān);

      automation_json_request.h/.cc:

      Json格式的數(shù)據(jù)傳輸,很多數(shù)據(jù)都是Json方式傳輸?shù)模?/p>

      window_proxy.h/.cc:

      同樣的道理,window相關(guān)的代理。

      主要自動(dòng)化測試工程分為三類,功能、性能和執(zhí)行,其中:

      功能包含:

      chrome_frame_project:

      chrome frame相關(guān),主要是插件方面;

      browser_project:

      chrome主界面的測試相關(guān);

     性能方面的項(xiàng)目有:

      test_support_ui_project:

      提供一些UI的基本操作(功能)和性能相關(guān)內(nèi)容,主要是性能,收集幾種最終要的性能數(shù)據(jù);

      realibility_test_project:

      封裝test_support_ui中的性能測試內(nèi)容,對(duì)chrome進(jìn)行穩(wěn)定性測試,包括穩(wěn)定性測試,crash收集,報(bào)告等;

      執(zhí)行相關(guān)有:

      pyautolib_project:

      chrome相關(guān)的pythonUI測試框架,將uitest的C++導(dǎo)成python然后進(jìn)行執(zhí)行;

      webdriver_project/chromedriver_project:

      為外部網(wǎng)站測試提供支持,比如selenium,webdriver等;

      還有三個(gè)我覺得不錯(cuò)的和自動(dòng)化有關(guān)的部分:

      breakpad的引入:

      crash的收集報(bào)告框架,在測試框架中引用它,對(duì)測試過程中出現(xiàn)的crash進(jìn)行dump收集,并統(tǒng)一分析;

      IAccessible的實(shí)現(xiàn):

      使用代理方式在views庫中封裝IAccessible的接口,共外部進(jìn)行界面相關(guān)的獲取;實(shí)現(xiàn)方式和我在MASS實(shí)現(xiàn)中提到的一樣,繼承統(tǒng)一基類,注冊(cè),然后分別實(shí)現(xiàn)自己的UI支持;

      memory_watch:

      chrome中的內(nèi)存檢監(jiān)測小工具。

      大概先看了一個(gè)雛形,感覺里面的自動(dòng)化架構(gòu)設(shè)計(jì)很漂亮,雖然涉及到的部分很多,也很碎,但是看樣子chrome都已經(jīng)分而治之了。界面的功能和 性能,頁面的功能和性能,js的功能和性能,后臺(tái)數(shù)據(jù)的獲取和安全,頁面的渲染,插件的穩(wěn)定,性能數(shù)據(jù)的獲取和分析,dump的采集和報(bào)告,基本上每一個(gè) 部分都能深入去了解。有時(shí)間了慢慢的再研究一下。

    posted on 2013-05-24 11:47 順其自然EVO 閱讀(395) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲熟妇无码乱子AV电影| 国产无遮挡又黄又爽免费网站| 亚洲AV无码成人网站久久精品大 | 在线观看无码AV网站永久免费 | 亚洲AV无码第一区二区三区 | 在线看片免费人成视频久网下载 | 成年女人视频网站免费m| 无码av免费网站| 99久久免费国产特黄| 深夜特黄a级毛片免费播放| 亚洲一本到无码av中文字幕| 91在线精品亚洲一区二区| 国产亚洲一区二区三区在线观看 | 亚洲一区二区三区写真| 亚洲免费一级视频| 亚洲理论在线观看| 亚洲精品高清视频| 亚洲成色www久久网站夜月| 亚洲熟妇丰满多毛XXXX| 久久久青草青青国产亚洲免观 | 国产精品亚洲аv无码播放| 4338×亚洲全国最大色成网站| 国产成人免费a在线资源| 真实乱视频国产免费观看 | 亚洲一卡2卡3卡4卡5卡6卡 | 成年女人18级毛片毛片免费| 色se01短视频永久免费| 18国产精品白浆在线观看免费| 亚洲一级免费毛片| 国内精品乱码卡1卡2卡3免费 | 亚洲午夜免费视频| 久久亚洲日韩看片无码| 亚洲精品电影天堂网| 亚洲熟妇色自偷自拍另类| 91亚洲精品麻豆| 日韩亚洲人成在线| 国产精品亚洲lv粉色| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲无线码在线一区观看| 亚洲AV无码久久| 亚洲精选在线观看|