Web 自動化測試---XPath

1.1什么是自動化測試
首先比較一下手動和自動:

  1. 手動
image.png

1.1什么是自動化測試

自動化測試的概念:
軟件自動化測試就是通過測試工具或者其他手段,
按照測試人員的預(yù)定計劃對軟件產(chǎn)品進(jìn)行自動化
測試,他是軟件測試的一個重要組成部分,能夠
完成許多手工測試無法完成或者難以實現(xiàn)的測試
工作,正確合理的實施自動化測試,能夠快速,
全面的對軟件進(jìn)行測試,從而提高軟件質(zhì)量,節(jié)
省經(jīng)費,縮短軟件的發(fā)布周期。

自動化測試的歷史
1.自動化測試就是任何利用工具來輔助的測試,幾乎在計算機(jī)工業(yè)產(chǎn)生的第一天,這種測試就出現(xiàn)了。

2.歷史上從來沒有出現(xiàn)過“測試自動化取代測試工程師工作”這種事情發(fā)生,除非你完全忽略測試人員們的真正工作。

3.測試自動化意味著使用測試工具。自動化測試是個古老的理念。

1.2 為什么進(jìn)行自動化測試
1.自動化測試的好處:

1)縮短測試周期
    計算機(jī)行業(yè)更新迭代快速,大量頻繁的回歸測試消耗時間,自動化測試能夠?qū)⒅貜?fù)的實行交給計算機(jī)去做,加快測試速度。

2)避免人為出錯
    測試人員不可能持續(xù)高度集中,并且人類易受外界影響(頭疼腦熱,精神不振),可能會造成人為錯誤
    
3)測試信息存儲
    自動化測試將測試信息和數(shù)據(jù)儲存在文件中,思路清晰明確,交接方便

2.自動化測試的好處:

4)輕易獲取覆蓋率
    自動化測試能夠解放測試人員,使測試人員能夠有更多的精力做那些非重復(fù)性的工作。
5)其他
    自動化測試可以是實現(xiàn)自動或者定時執(zhí)行

自動化測試的方向是對的,而且趨勢也是如此,但是有些自動化實現(xiàn)不了的還是會手動測一把1.整體分類:        

1)自動化功能測試
? 2)自動化性能測試
2.自動化功能測試的分類:
1)單元測試
程序員搞定
2)接口測試
3)功能測試
大中型項目或長期項目可以采用自動化測試

1.3 自動化測試的分類
3.性能測試主要是使用測試工具

Loadrunner、Jmeter等,對軟件進(jìn)行壓力測試、負(fù)載測試等等,因為這些無法用手工進(jìn)行代替,所以必須自動化。

為了測試一個web站點的服務(wù)能力,需要模擬上千上萬的請求(比如打開瀏覽器訪問站點),人的速度是遠(yuǎn)遠(yuǎn)達(dá)不到這樣的操作的

1.4 web自動化條件和使用范圍?
1.使用自動化的前提條件

1)手動測試已經(jīng)完成,后期再不影響進(jìn)度的前提下逐漸實現(xiàn)自動化
? 2)項目周期長,重復(fù)性的工作都交給機(jī)器去實現(xiàn)
? 3)需求穩(wěn)定,項目變動不大
4)自動化測試腳本復(fù)雜度比較低
5)可重復(fù)利用

2.使用自動化測試的場景
? 1)頻繁的回歸測試
2)冒煙測試
3)傳統(tǒng)行業(yè)需求變化不大,應(yīng)用頻繁
? 4)性能測試
1.5 web自動化常用的工具
1.常見的自動化web測試工具:

1)QTP(收費)?
    QTP是Mercury公司的Quick Test Professional的簡稱,是一種自動測試工具。

2)Selenium(開源)
ThroughtWorks一個強(qiáng)大的基于瀏覽器的開源自動化測試工具,通常用來編寫web應(yīng)用的自動化測試

3)RFT(收費)

IBM Rational Test Professional的簡稱,是一款先進(jìn)的自動化的功能和回歸測試工具,使用與測試人員和GUI開發(fā)人員,基礎(chǔ)是針對Java,.NET的對象計數(shù)和基于web應(yīng)用程序的錄制,回放功能

2.0 為什么要學(xué)習(xí)元素定位
1.為什么要學(xué)習(xí)元素定位?
1)計算機(jī)沒有智能到人的程度。

2)計算機(jī)不能像手動測試人員一樣通過眼看,手操作鼠標(biāo)點擊,操作鍵盤輸入。

3)計算機(jī)通過一系列計數(shù)手段找到元素(按鈕、輸入框、模擬鍵盤等)

2.元素定位的工具或手段有哪些?

1.為什么要學(xué)習(xí)元素定位?
1)計算機(jī)沒有智能到人的程度。

2)計算機(jī)不能像手動測試人員一樣通過眼看,手操作鼠標(biāo)點擊,操作鍵盤輸入。

3)計算機(jī)通過一系列計數(shù)手段找到元素(按鈕、輸入框、模擬鍵盤等)

2.元素定位的工具或手段有哪些?

1)css選擇器

2)xpath

2.2 xpath
1.什么是xpath?

XPath 是一門在 XML 文檔中查找信息的語言
W3School官方文檔:http://www.w3school.com.cn/xpath/index.asp

2.什么是XML?

XML 指可擴(kuò)展標(biāo)記語言(EXtensible Markup Language)
XML 是一種標(biāo)記語言,很類似 HTML 
XML 的設(shè)計宗旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)

2.2 xpath
4.節(jié)點的概念:每個XML/HTML的標(biāo)簽我們都稱之為節(jié)點

image.png
image.png
image.png

5.XPath 使用路徑表達(dá)式來選取 XML 文檔中的節(jié)點或者節(jié)點集。這些路徑表達(dá)式和我們在常規(guī)的電腦文件系統(tǒng)中看到的表達(dá)式非常相似。


image.png
aee2f45e6787ebdd2befe9996012a62.png
19e22b48343dd9f411a99565bba9d9d.png
b7c10a33ce4f9be4b4da4f89d258968.png
c003087c9fe1d6012412cdbab2e3449.png
3bd057c0239846c47d089a5e10c1d96.png
55410b5db10708e826489b737bbc233.png
6a55c8b8cada61f232b6c4a32e2a2fe.png

查找某個特定的節(jié)點或者包含某個指定的值的節(jié)點

image.png

45c4c5c7ed3a435c677482257f8136d.png

9779d9ade3996f2b46e684c4422d579.png

7bfe47a797773a5b31b19758f13bd4a.png

a8418c4abc6d73b941e14d47cdd912e.png

14b0b83fb12599a21d30d935f8cd6ca.png

b8816913ff8dfe515c87420de084c0e.png

選擇未知節(jié)點


image.png
42c0f1f48249e8edddf1cceb36dd38f.png

434cc66b3d73d857d7ff712f0ac568d.png
952f292a3bbbd4e1ec78e09fb4049af.png

f78530358a3aafb07486fde3fe90422.png

選取若干路徑


image.png
a837d1b2d6a43f714a4f7a32f98e4d1.png

補(bǔ)充:
//*[text()=“x’x’x”] 全部//title/text() 本內(nèi)容是xxx的元素

//*[starts-with(@attribute,”xxx”)] 屬性以xxx開頭的元素

//*[contains(@attribute,”xxxxx”)] 屬性中含有xxx的元素

//*[@attribute1=value1 and @attribute2=value2] 同時有兩個屬性值的元素

7b1930ae7ed909e7d700d2c531638cb.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容