一、認識web自動化測試
- 什么是自動化測試?
- 了解為什么要進行自動化測試?
- 掌握自動化測試的分類?
- web自動化測試的使用條件和場景
- 自動化測試工具的優(yōu)缺點
- 自動化測試的前景和發(fā)展方向
1.1 什么是自動化測試
首先比較一下手動和自動:
手動操作如下:
自動操作如下:
http://n1.itc.cn/img8/wb/sohulife/2016/02/24/145626026613873378.GIF
1.1.1 自動化測試的概念
軟件自動化測試就是通過測試工具或者其他手段幸逆,按照測試人員的預定計劃對軟件產(chǎn)品進行自動化測試宾舅,他是軟件測試的一個重要組成部分骇径,能夠 完成許多手工測試無法完成或者難以實現(xiàn)的測試工作臀规,正確合理的實施自動化測試米间,能夠快速强品,全面的對軟件進行測試,從而提高軟件質(zhì)量屈糊,節(jié)省經(jīng)費的榛,縮短軟件的發(fā)布周期。
1.1.2 自動化測試的歷史
- 自動化測試就是任何利用工具來輔助的測試逻锐,幾乎在計算機工業(yè)產(chǎn)生的第一天夫晌,這種測試就出現(xiàn)了。
- 歷史上從來沒有出現(xiàn)過“測試自動化取代測試工程師工作”這種事情發(fā)生昧诱,除非你完全忽略測試人員們的真正工作晓淀。
- 測試自動化意味著使用測試工具。自動化測試是個古老的理念盏档。
1.2 為什么要進行自動化測試
1.2.1 自動化測試的好處
- 縮短測試周期
計算機行業(yè)更新迭代快速凶掰,大量頻繁的回歸測試消耗時間,自動化測試能夠將重復的實行交給計算機去做,加快測試速度懦窘。 - 避免人為出錯
測試人員不可能持續(xù)高度集中前翎,并且人類易受外界影響(頭疼腦熱,精神不振)奶赠,可能會造成人為錯誤 - 測試信息存儲
自動化測試將測試信息和數(shù)據(jù)儲存在文件中鱼填,思路清晰明確,交接方便 - 輕易獲取覆蓋率
自動化測試能夠解放測試人員毅戈,使測試人員能夠有更多的精力做那些非重復性的工作。 - 其他
自動化測試可以是實現(xiàn)自動或者定時執(zhí)行
注意:自動化測試的方向是對的愤惰,而且趨勢也是如此苇经,但是有些自動化實現(xiàn)不了的還是會手動測試的。
1.3 自動化測試的分類
- 整體分類
1)自動化功能測試
2)自動化性能測試 - 自動化功能測試的分類:
1)單元測試:程序員搞定
2)功能測試
3)接口測試:大中型項目或長期項目可以采用自動化測試
性能測試主要是使用測試工具
Loadrunner宦言、Jmeter等扇单,對軟件進行壓力測試、負載測試等等奠旺,因為這些無法用手工進行代替蜘澜,所以必須自動化。
為了測試一個web站點的服務能力响疚,需要模擬上千上萬的請求(比如打開瀏覽器訪問站點)鄙信,人的速度是遠遠達不到這樣的操作的
1.4 web自動化條件和使用范圍
1.使用自動化的前提條件
1)手動測試已經(jīng)完成,后期再不影響進度的前提下逐漸實現(xiàn)自動化
2)項目周期長,重復性的工作都交給機器去實現(xiàn)
3)需求穩(wěn)定,項目變動不大
4)自動化測試腳本復雜度比較低
5)可重復利用
2.使用自動化測試的場景
1)頻繁的回歸測試
2)冒煙測試
3)傳統(tǒng)行業(yè)需求變化不大忿晕,應用頻繁
4)性能測試
1.5 web自動化常用的工具
常見的自動化web測試工具
QTP(收費)
QTP是Mercury公司的Quick Test Professional的簡稱装诡,是一種自動測試工具。
Selenium(開源)
Selenium一個強大的基于瀏覽器的開源自動化測試工具践盼,通常用來編寫web應用的自動化測試
RFT(收費)
IBM Rational Test Professional的簡稱鸦采,是一款先進的自動化的功能和回歸測試工具,使用與測試人員和GUI開發(fā)人員咕幻,基礎是針對Java,.NET的對象計數(shù)和基于web應用程序的錄制渔伯,回放功能。
1.6 元素的定位
為什么要學習定位元素?
環(huán)境及工具
css選擇器
xpath路徑表達式
1.6.1 為什么要學習元素定位肄程?
1)計算機沒有智能到人的程度锣吼。
2)計算機不能像手動測試人員一樣通過眼看,手操作鼠標點擊绷耍,操作鍵盤輸入吐限。
3)計算機通過一系列計數(shù)手段找到元素(按鈕、輸入框褂始、模擬鍵盤等)
1.6.2 元素定位的工具或手段有哪些诸典?
1)css選擇器
2)xpath
1.6.3 環(huán)境及工具
材料
1)firefox35
2)firebug插件
3)firepath插件
安裝步驟
1\. 下載瀏覽器插件
2\. 菜單 → 添加附件 → 設置圖標 → 從文件中添加附件
1.7 xpath
1.7.1 什么是xpath?
XPath即為XML路徑語言,它是一種用來(標準通用標記語言的子集)在 HTML\XML 文檔中查找信息的語言狐粱。
W3School官方文檔:http://www.w3school.com.cn/xpath/index.asp
1.7.2 什么是XML?
XML 指可擴展標記語言(EXtensible Markup Language)
XML 是一種標記語言舀寓,很類似 HTML
XML 的設計宗旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)
1.7.3 XML與HTML
1.7.4 節(jié)點
節(jié)點的概念:每個XML/HTML的標簽我們都稱之為節(jié)點
1.7.5 獲取元素
XPath 使用路徑表達式來選取 XML 文檔中的節(jié)點或者節(jié)點集肌蜻。這些路徑表達式和我們在常規(guī)的電腦文件系統(tǒng)中看到的表達式非常相似互墓。
/ 根節(jié)點
//title 全局模糊定位title
//head/. 定位head元素
//haad/.. 定位head元素的父元素
//meta[@conent]
//meta[@conent=""]
-
查找某個特定的節(jié)點或者包含某個指定的值的節(jié)點
image
/html/head/meta[1]
-
選擇未知節(jié)點
image -
選取若干路徑
imageimage
1.8 css選擇器
1.8.1 什么是css選擇器?
CSS 中蒋搜,選擇器是一種模式篡撵,用于選擇需要添加樣式的元素。計算機能夠通過css選擇器定位到相應元素豆挽,我們在編寫自動化測試腳本的時候很多時候是在不斷地找到css選擇器育谬。
1.8.2 css選擇器語法
1)通過偽類名、id帮哈、標簽名定位
測試站點: http://www.baidu.com
2)通過元素之前嵌套關系
測試:Form span
3)通過屬性
4)通過父子關系
測試站點:App</article>