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

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

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

    qileilove

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

    初窺chromium中的自動化測試設計

    性能方面的項目有:

      test_support_ui_project:

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

      realibility_test_project:

      封裝test_support_ui中的性能測試內容,對chrome進行穩定性測試,包括穩定性測試,crash收集,報告等;

      執行相關有:

      pyautolib_project:

      chrome相關的pythonUI測試框架,將uitest的C++導成python然后進行執行;

      webdriver_project/chromedriver_project:

      為外部網站測試提供支持,比如selenium,webdriver等;

      還有三個我覺得不錯的和自動化有關的部分:

      breakpad的引入:

      crash的收集報告框架,在測試框架中引用它,對測試過程中出現的crash進行dump收集,并統一分析;

      IAccessible的實現:

      使用代理方式在views庫中封裝IAccessible的接口,共外部進行界面相關的獲取;實現方式和我在MASS實現中提到的一樣,繼承統一基類,注冊,然后分別實現自己的UI支持;

      memory_watch:

      chrome中的內存檢監測小工具。

      大概先看了一個雛形,感覺里面的自動化架構設計很漂亮,雖然涉及到的部分很多,也很碎,但是看樣子chrome都已經分而治之了。界面的功能和 性能,頁面的功能和性能,js的功能和性能,后臺數據的獲取和安全,頁面的渲染,插件的穩定,性能數據的獲取和分析,dump的采集和報告,基本上每一個 部分都能深入去了解。有時間了慢慢的再研究一下。

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

      白盒部分:

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

      核心工程:

       核心自動化工程是automation,在chromium/src/chrome/test/下面,包含大部分自動化測試的代理部分,所有內部測試通 過ENABLE_AUTOMATION進行編譯的開關。這個代理架構上,是兩個UI相關的的架構,一個是對外的chrome界面的自動化操作,一個是內部 view的界面庫測試。代理的提供者在其他的自動化項目中,automation下面的代理和非代理部分都有各自的提供者。chromium中的自動化其 實是一套很不錯的C++自動化架構,準確來說不是一套,但是大思路一致。其中:

      automation_proxy.h/.cc:

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

      browser_proxy.h/.cc:

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

      tab_proxy.h/.cc:

      tab的代理,用來和tab的provider進行交互,測試的應該是固定tab頁內的js相關;

      automation_json_request.h/.cc:

      Json格式的數據傳輸,很多數據都是Json方式傳輸的;

      window_proxy.h/.cc:

      同樣的道理,window相關的代理。

      主要自動化測試工程分為三類,功能、性能和執行,其中:

      功能包含:

      chrome_frame_project:

      chrome frame相關,主要是插件方面;

      browser_project:

      chrome主界面的測試相關;

     性能方面的項目有:

      test_support_ui_project:

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

      realibility_test_project:

      封裝test_support_ui中的性能測試內容,對chrome進行穩定性測試,包括穩定性測試,crash收集,報告等;

      執行相關有:

      pyautolib_project:

      chrome相關的pythonUI測試框架,將uitest的C++導成python然后進行執行;

      webdriver_project/chromedriver_project:

      為外部網站測試提供支持,比如selenium,webdriver等;

      還有三個我覺得不錯的和自動化有關的部分:

      breakpad的引入:

      crash的收集報告框架,在測試框架中引用它,對測試過程中出現的crash進行dump收集,并統一分析;

      IAccessible的實現:

      使用代理方式在views庫中封裝IAccessible的接口,共外部進行界面相關的獲取;實現方式和我在MASS實現中提到的一樣,繼承統一基類,注冊,然后分別實現自己的UI支持;

      memory_watch:

      chrome中的內存檢監測小工具。

      大概先看了一個雛形,感覺里面的自動化架構設計很漂亮,雖然涉及到的部分很多,也很碎,但是看樣子chrome都已經分而治之了。界面的功能和 性能,頁面的功能和性能,js的功能和性能,后臺數據的獲取和安全,頁面的渲染,插件的穩定,性能數據的獲取和分析,dump的采集和報告,基本上每一個 部分都能深入去了解。有時間了慢慢的再研究一下。

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


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2013年5月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一级特黄录像免费播放肥| 免费国产黄网站在线观看动图| 国产在线观a免费观看| 中文字幕日韩亚洲| 人妖系列免费网站观看| 亚洲国产成人久久精品99| 一级毛片免费不卡直观看| 亚洲综合国产精品第一页| 国产性生大片免费观看性| 亚洲大成色www永久网站| 高清一区二区三区免费视频| 亚洲AV无码久久| 国产精品入口麻豆免费观看| avtt天堂网手机版亚洲| 狼友av永久网站免费观看| 免费福利资源站在线视频| 亚洲精品无码久久千人斩| 99视频免费观看| 亚洲性无码AV中文字幕| 四虎影视免费永久在线观看 | 国产AV无码专区亚洲AV手机麻豆| 猫咪免费人成在线网站 | 久久久久久国产精品免费无码| 中文字幕亚洲综合久久2| 成人黄软件网18免费下载成人黄18免费视频 | 你懂得的在线观看免费视频| 亚洲AV日韩AV永久无码绿巨人| 啦啦啦完整版免费视频在线观看| 亚洲人成图片网站| 亚洲综合区小说区激情区| 国产精品99久久免费观看| 亚洲人成电影网站免费| 亚洲色偷偷综合亚洲AV伊人| 91精品啪在线观看国产线免费| 亚洲乱码中文字幕在线| 亚洲精品无码乱码成人| 欧洲精品成人免费视频在线观看| 国产亚洲视频在线观看| 亚洲va在线va天堂va四虎| 精品国产免费一区二区| 最近免费mv在线观看动漫|