元素定位是在做UI自動(dòng)化測(cè)試中最重要的一環(huán),要牢牢掌握定位的方法,才能更有效率的進(jìn)行UI自動(dòng)化測(cè)試。
常見(jiàn)的元素定位方式:
- id
- name
- tag_name
- class_name
- link_text
- partial_link_text
- xpath
- css
其中id,name是具有唯一性的,所以定位起來(lái)比較簡(jiǎn)單,直接使用即可
在UI自動(dòng)化測(cè)試中,xpath和css是依據(jù)html文檔的路徑進(jìn)行定位,分為絕對(duì)路徑和相對(duì)路徑。各有優(yōu)劣,根據(jù)業(yè)務(wù)情況選擇即可。本節(jié)重點(diǎn)介紹xpath和css定位
xpath
Xpath 是一種用在 XML 文檔中定位元素的語(yǔ)言,同樣也支持 HTML 元素的解析
1. 在 XPath 中,有七種類型的節(jié)點(diǎn):元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節(jié)點(diǎn)
2. 路徑表達(dá)式:
路徑 | 說(shuō)明 |
nodename | 選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)。 |
/ | 從根節(jié)點(diǎn)選取 |
// | 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn) |
. | 選取當(dāng)前節(jié)點(diǎn)。 |
.. | 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn) |
@ | 選取屬性 |
3. 謂語(yǔ)用來(lái)查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn),被嵌在方括號(hào)中
常見(jiàn)的謂語(yǔ):
1)數(shù)字? ? ?例如:? /html/body/div[4]/div[2]/div[2]
2)last()? ? 例如: /html/body/div[last()]
3) position()? ?例如:/bookstore/book[position()<3]
4) @屬性值? 例如://title[@lang='eng']
5)> < =? 例如:/bookstore/book[price>35.00]/title
6)直接獲取文本 例如://title[@lang='eng']/text()
4. 通配符
1)*? 例如:/bookstore/*
2)@*? ?例如://title[@*]
控制臺(tái)xpath定位示例:
1.使用id屬性
2.查找多個(gè)子后代
?3.查找后代中的倒數(shù)第二個(gè)
?4.查找所有a
css定位
css比xpath定位更快,也更穩(wěn)定
常用的css基本語(yǔ)法:
?
控制臺(tái)css定位示例:
1.通過(guò)id定位
?2.通過(guò)class定位
3.定位h3下的所有a元素
?
?4.定位h3下的子元素
?5. h3后緊接的a元素
6.定位前面有div的每一個(gè)h3元素
?
?
css和xpath的比較
xpath功能比較強(qiáng)大,可以做一些css做不到的內(nèi)容
css更快更穩(wěn)定,xpath是路徑遍歷,css用樣式定位文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-490321.html
掌握語(yǔ)法后,多練習(xí),多實(shí)踐文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-490321.html
到了這里,關(guān)于selenium:元素定位之xpath、css的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!