學習使用Robot Framework自動化測試框架-web元素定位


轉:http://blog.csdn.net/u012145166/article/details/50342569

 

1.name和id

其中使用到了name和id定位。但有時候由於開發人員的疏忽或者開發習慣的問題,會漏寫name或者id屬性。或者有時候如果頁面很龐大,元素很多,也有可能出現兩個一不小心定義了兩個重復的id的情況。這樣就無法進行唯一定位了。

2.xpath

前面所說的id和name屬性就相當於是一個人的姓名。你可以通過姓名找到他。但是同名同姓的問題是存在的,而且有時候也不知道他的姓名,那就去就去他的家里找,一個人住的地方總是唯一的。所以這種方式幾乎是萬能的,能基本解決所有定位需求。

3.css

另外還有一種通過CSS進行定位的方式,這種方式也能解決大部分的定位問題,但是這種方法比較復雜,學習成本比較高。我自己也沒有好好學習過,就不再介紹了。

4.使用firebug插件和firepath插件獲取xpath和id,name

4.1插件的安裝

那如何去獲取定位所需要的id,name,xpath數據呢?因為Selenium默認是支持Firefox瀏覽器的,而Firefox又以其強大、數量龐大的可選插件著稱,所以當然就會有相應的插件支持這個工作,也就是firebug和firepath。 
可能由於牆的原因,無法成功在線進行安裝。可以在下載插件后,進行離線安裝下載鏈接請猛戳這里。 
下載的文件無須解壓,按下圖方法安裝即可。 
這里寫圖片描述

4.2使用示例

這里再以百度首頁為例講解兩個插件的用法。 
打開網頁后,按F12,可見到頁面下方的一些可操作選項。

這里寫圖片描述

點擊箭頭1指向的這個鼠標形狀的按鈕,就可以開始定位元素了。點擊要進行定位的元素,比如搜索編輯框。此時下方的網頁源碼處就會自動跳到相應的HTML代碼處,方便直接查看其相應屬性,就能從中獲取我們所需要的name和id。

那怎么獲取xpath呢?點擊Firepath功能,進入Firepath視圖,再次點擊那個鼠標形狀的按鈕,開始選擇元素。同樣的,我們再選擇編輯框。這時,頁面就會自動顯示出這個元素的xpath值,同時代碼也會跳到相應的地方。

這里寫圖片描述

5.使用google chrome瀏覽器獲取xpath和id,name

firefox能用,當然chrome瀏覽器也能支持啦,而且不需要安裝插件。

5.1獲取id,name

進入頁面,按F12,安裝如下步驟即可獲取到元素的相關屬性,就不再多說了。 
這里寫圖片描述

5.2獲取xpath

在獲取到的屬性代碼塊上右擊,點擊copy xpath即可將xpath復制到剪貼板中 
這里寫圖片描述

6.xpath的使用

獲取到后,如何去使用呢?其實使用就和獲取一樣簡單,只需將原來的定位參數修改為“xpath= value”即可,value就是4.2步驟中獲取到的xpath值。 
我們將上一篇的例子使用的定位方法切換為xpath方法,效果如下。

這里寫圖片描述

不過這里xpath看上去好像還是使用id來定位的,這是因為使用工具對xpath自動獲取時有很多種方法,有絕對路徑,也有相對路徑。而這里就是使用相對路徑方法里的直接按屬性定位。 
我們不妨嘗試獲取一下右上角”登錄”的xpath值。

這里寫圖片描述

是不是不太一樣了?解釋一下,這里先使用按id屬性定位獲取到了無序列表,即右上角這一排,然后再用相對路徑定位到這個列表下的第七個元素“登錄”。所以取得的值是”.//*[@id=’u1’]/a[7]“


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM