桌面程序的測試工具備:QTP、 AutoRunner。javascript
web應用的測試工具備:QTP、AutoRunner、Robot Framework、watir、selenium。php
一、假如被測試的產品是C/S架構的,那麼推薦QTP ,QTP在UI自動化測試領域佔到了一半的試用率。要想學好QTP ,你必需要掌握VBS腳本語言。css
二、若是被測產品是B/S 結構,那麼推薦selenium 。由於selenium 對B/S應用支持很好,更重要的一點,它支持多語言的開發。java
一、elenium 是支持java、python、ruby、php、C#、JavaScript 。python
二、elenium 並非單純的一個工具,他是一組工具的集合,每一個工具都有特定的使用場景。並且,他還有1.0與2.0之分,固然3.0也已經到來。web
selenium IDE 是嵌入到Firefox瀏覽器中的一個插件,實現簡單的瀏覽器操做的錄製與回放功能。瀏覽器
(1)快速的建立bug重現腳本,在測試人員的測試過程當中,發現了bug以後能夠經過IDE將重現的步驟錄製下來,以幫助開發人員更容易的重現bug。安全
(2)IDE錄製的腳本能夠能夠轉換成多種語言,從而幫助咱們快速的開發腳本。ruby
Selenium Grid是一種自動化的測試輔助工具,Grid經過利用現有的計算機基礎設施,能加快Web-app的功能測試。利用Grid,能夠很方便地同時在多臺機器上和異構環境中並行運行多個測試事例。其特色爲:服務器
(1)並行執行;
(2)經過一個主機統一控制用例在不一樣環境、不一樣瀏覽器下運行;
(3)靈活添加變更測試機。
selenium RC 是selenium 家族的核心工具,selenium RC 支持多種不一樣的語言編寫自動化測試腳本,經過selenium RC 的服務器做爲代理服務器去訪問應用從而達到測試的目的。
selenium RC 使用分Client Libraries和selenium Server。
(1)Client Libraries庫主要用於編寫測試腳本,用來控制selenium Server的庫。
(2)Selenium Server負責控制瀏覽器行爲, 總的來講,Selenium Server主要包括3個部分:Launcher、 Http Proxy、Core。
A:其中Selenium Core是被 Selenium Server嵌入到瀏覽器頁面中的。其實Selnium Core就是一堆JS函數 的集合,就是經過這些JS函數,咱們才能夠實現用 程序對瀏覽器進行操做。
B:Launcher用於啓動瀏覽器,把selnium Core加載到瀏覽器頁面當中,並把瀏覽器的代理設置Selenium Server 的Http Proxy。
三、須要強調的是,在selenium 2.0 中主推的 是WebDriver ,WebDriver 是selenium RC 的替代品,由於 selenium 爲了向下兼容性,因此 selenium RC 並無完全拋棄,若是你使用selenium開發一個新自動化測試項目,強列推薦
用WebDriver 。
(1)selenium RC 在瀏覽器中運行JavaScript應用,使用瀏覽器內置的JavaScript 翻譯器來翻譯和執行selenese命令(selenese 是selenium命令集合)。
(2)WebDriver經過原生瀏覽器支持或者瀏覽器擴展直接控制瀏覽器。WebDriver針對各個瀏覽器而開發,取代了嵌入到被測Web應用中的JavaScript。與瀏覽器的緊密集成支持建立更高級的測 試,避免了JavaScript安全模型致使的限制。
(3)除了來自瀏覽器廠商的支持,WebDriver還利用操做系統級的調用模擬用戶輸入。
(4)若是是新項目直接學習webdriver 就OK了,RC是過期技術。
selenium學習路線:
(1)配置你的測試環境,針對你所學習語言,來配置你相應的 selenium 測試環境。
(2)接着你須要熟悉webdriver API 。API就是selenium 所定義一方法,用於定位,操做頁面上的各類元素。
(3)先學習元素的定位,selenium 提供了id、name、class name、 tag name、link text、partial link text、 xpath、css、等定位方法。xpath和css 功能強大語法稍微複雜,在這其間你可能還須要瞭解更多的前 端知識。xml ,javascript 等。
(4)定位元素的目的是爲了操做元素,接就要學習各類元素有操做,輸入框,下拉框,按鈕點擊,文件上傳、下載,分頁,對話框,警告框...等等。
(5)接着你須要作的就是把這些「用例」組織起來,統一來跑。
(6)學習並使用單元測試框架,單元測試框架自己就解決了用例的組織與運行。
*當你寫了一些「測試用例」 以後,你會發現用例中有大 量重複的操做,能不能寫到一個單獨的文件中,須要的時候調用這些操做。
*而後,你又發現每一個用例中都有 一些數據,這些數據也是同樣的,但若是變化了修改起來很是麻煩,也能夠把他寫到一個單獨的文件中進行讀取。
*我怎麼知道用例運行失敗仍是成功。那麼就須要在腳本中加一些驗證與斷言。
*單元測試框架的log太簡陋了,能不能生成一張漂亮的測試報告出來。能不能定時的來跑這個腳本。
*能不能每一次跑腳本的測試結果直接發到個人郵箱。