python三角形判断白盒测试的代码_进化的测试 软件测试,自动化测试,白盒测试,Python...
用Selenium實(shí)現(xiàn)自動化測試的過程中,如果選擇頁面上的元素并且對之進(jìn)行各種操作,是一個(gè)常見的任務(wù)。Selenium提供了多種定位方法:
id:最有效、最方便的方法
name:跟id類似的
class name:對某些具有相同類的元素一網(wǎng)打盡的好方法
link text 和 partial link text: 用在定位超鏈接上比較多
tag name:與class name有點(diǎn)類似
css selector:如果你試用jQuery,這個(gè)一定是你喜歡的方法
xpath:。。。 /html/body/div/div[2]/div[2]/div[2]/div[5]/div/p[2]
網(wǎng)上很多Selenium的介紹文章,在講述如何利用XPath定
位元素的時(shí)候,通常都是這樣子說的“打開Firefox瀏覽器,安裝Firebug插件,然后就能方便地獲得該元素的XPath了”。由于不求甚解,在一
段時(shí)間內(nèi)我真以為這些看起來沒什么意義,中間穿插著各種數(shù)組操作,讀起來反人類反社會的所謂XPath就是真的XPath,同志們大家都被誤導(dǎo)了。
XPath在Selenium測試中有好些缺點(diǎn):1. 性能差,定位元素的性能比起大多數(shù)其他方法要差;2.
不夠健壯,XPath會隨著頁面元素布局的改變而改變;3.
兼容性不好,在不同的瀏覽器下對XPath的實(shí)現(xiàn)是不一樣的。如此多的弱點(diǎn),為什么它還存在于Selenium中呢?Selenium提供了這7個(gè)元素定
位的工具,就好像工具箱里面有錘子有老虎鉗有螺絲刀,每個(gè)工具都能完成特定的任務(wù),前提是要在正確的前提下,正確地使用。
XPath通常會在如下場景:一個(gè)寫自動化測試的人,發(fā)現(xiàn)他想要操作的元素不能通過id, name, link
text等比較方便有效的方法來進(jìn)行定位,苦逼的他沒能說服開發(fā)這個(gè)頁面的人把他想要的id加上,他開始用所謂的XPath來定位元素,代碼中充滿了各種
讓人摸不著頭腦的XPath(/html/body/div/div[3]/div[2]/div[4]/p[2]),在我看來這樣的代碼跟錄制出來的腳
本沒有任何區(qū)別。可讀性差,幾乎不能維護(hù)。XPath理論上可以這樣使用,但是實(shí)際上應(yīng)該避免這樣的使用。
XPath的一些優(yōu)點(diǎn)是大家需要知道的,例如:1. XPath可以通過某個(gè)元素找到它的祖先(Ancestors);2. 可以做布爾邏輯判斷,例如/button[@value=’submit’ or @name=’tijiao’]
回到上面的場景,假如說那個(gè)苦逼的人想定位到頁面上的一個(gè)提交按鈕,這個(gè)按鈕不能通過id或者name來定位。這個(gè)時(shí)候他要做的事情不是打開
Firebug定位提交按鈕右擊鼠標(biāo)再點(diǎn)“Copy XPath”。而是應(yīng)該是找開發(fā)把id或者name加上。如果不行,解決思路可以是:1.
找到該按鈕的特征,例如按鈕的文字是 submit;2. 用XPath定位,可以這樣寫://button[@value='submit']。
我個(gè)人對使用XPath比較反感的,如果可能的話,盡可能使用id或者name。真的要用XPath,千萬千萬不要打開Firebug定位提交按鈕右擊鼠標(biāo)再點(diǎn)“Copy XPath”。
先認(rèn)真學(xué)習(xí)XPath,后使用。在很長一段時(shí)間里面,我對XPath真的是恨之入骨,恨不得先殺之而后快,但是想到存在就是合理,那么多大牛們都沒有把
XPath摒棄與Selenium之外,XPath必然有它的價(jià)值。最近花了點(diǎn)時(shí)間學(xué)習(xí)了一下XPath,并且讀了一些關(guān)于如何在Selenium里面正
確使用XPath的文章,豁然開朗。
參考文章:
總結(jié)
以上是生活随笔為你收集整理的python三角形判断白盒测试的代码_进化的测试 软件测试,自动化测试,白盒测试,Python...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在我国古代民间流行的绞面是哪一种?蚂蚁庄
- 下一篇: realme真我11 系列工信部证件照及