Robot Framework學習筆記(十)------Selenium2Library庫


一、安裝selenium2library庫

如果已經安裝了pip,則使用管理員模式打開windows命令行,輸入pip install robotframework-selenium2library,安裝完成后在命令行輸入pip list查看python的安裝列表,列表中出現了robotframework-selenium2library及對應的版本號,說明安裝完成。

二、導入selenium2library庫

添加完成,黑色示添加的庫正常,紅色表示庫不存。如果為紅色,請檢查C:\Python27\Lib\site-packages 目錄下是否有 Selenium2Library 目錄

按F5可調出關鍵字查詢窗口。source選擇Selenium2Lilrary,然后輸入關鍵字,點擊搜索。選擇關鍵字可以查看關鍵字的說明

三、第一個例子

比如打開百度,輸入一個Open Browser關鍵字,如果關鍵字為藍色說明它是一個合法的關鍵字,后面有一個方框是紅色的,表示這個參數不能缺省的。通過說明信息中,我發現它需要一個 url 地址是必填的,當然還需要指定 browser (默認不填為 friefox)

四、元素定位

 Web 自動化測試其實就是找到元素(定位元素)並操作元素。

Selenium2Library 提供了非常豐富的定位器:

最常用的其實是id、name、xpath、css。 id 和 name兩種定位方式非常簡單且實用, xpath 和 css兩種定位方式足夠強大,可以滿足幾乎所有定位需求。

1、id和name定位

以百度為例。我們可看到輸入框input元素有id和name屬性,百度一下按鈕有id屬性。

輸入框:id=kw  name=wd,在 Robot framework 中就是這樣寫的:

Input text 用於輸入框的關鍵字 ,后面兩個參數,一個是元素的定位,一個是輸入框輸入的值。

百度一下按鈕:id=su,在 Robot framework 中就是這樣寫的:

click button用戶點擊按鈕的關鍵字,后面跟着一個必填參數。

2、xpath定位

XPath 是一種在 XML 文檔中定位元素的語言。因為 HTML 可以看做 XML 的一種實現,所以 selenium用戶可是使用這種強大語言在 web 應用中定位元素。如果一個元素沒有id和name或沒有唯一標識可以使用xpath 通過層級關系找到元素。

(1)xpath絕對路徑

比如百度頁面的搜索輸入框xpath=/html/body/div[2]/div[1]/div/div[1]/div/form/span[1]/input。絕對路徑的用法往往是在我們迫不得已的時候才用的。大多時候用相對路徑更簡便

 (2)xpath的相對路徑

使用元素本身定位:比如百度頁面的搜索輸入框xpath=//*[@id="kw"],可以利用元素自身的屬性。//表示某個層級下,*表示某個標簽名。@id=kw表示這個元素有個 id 等於 kw

 當然,一般也可以制定標簽名:xpath=//input[@id="kw"]元素本身,可以利用的屬性就不只局限為於 id 和 name ,如:Xpath = //input[@autocomplete=’off’],但要保證這些元素可以唯一的識別一個元素。

找上級:如果一個元素找不到可以先找到他的上級。比如:xpath = //span[@class='bg s_btn_wr’]/input,如果父級沒有唯一標識,還可以繼續往上找:

xpath = //form[@id=’form1’]/span/input

布爾值寫法:

Xpath = //input[@id=’kw1’ and @name=’wd’]

總結:使用過程中發現xpath定位有時候語法並沒有任何問題也定位不到元素,比如xpath = //span[@class='bg s_btn_wr’]/input。

3、css 定位

CSS(Cascading Style Sheets)是一種語言,它被用來描述 HTML 和 XML 文檔的表現。CSS 使用選擇器來為頁面元素綁定屬性。這些選擇器可以被 selenium 用作另外的定位策略。CSS 可以比較靈活選擇控件的任意屬性,一般情況下定位速度要比 XPath 快。
CSS 選擇器的常見語法:

五、Selenium2Library 常用關鍵字

1、瀏覽器驅動

open browser也可以打開本地的文件,比如:

2、關閉瀏覽器

(1)關閉當前頁面

(2)關閉所有頁面

3、瀏覽器最大化

4、設置瀏覽器窗口寬、高

5、獲取瀏覽器窗口尺寸

6、文本輸入

7、點擊元素

8、等待元素出現

Arguments:[ locator | timeout=None | error=None ],Xpath=//* [@] :表示元素定位,這里定位出現的元素。42 : 表示最長等待時間。Error : 表示錯誤提示,自定義錯誤提示,如:“元素不能正常顯示”

 

9、獲取 title

Returns title of current page.我們通常會將獲取的 title 傳遞給一個變量,然后與預期結果進行比較。從而判斷當前腳本執行成功

 10、獲取元素的text

Arguments:[ locator ],Returns the text value of element identified by `locator`.

 

11、獲取元素的屬性值

id=kw@name:id=kw 表示定位的元素。@nam 獲取這個元素的 name 屬性值。

 12、cookie處理

get cookies 獲得當前瀏覽器的所有 cookie 。
get cookie value 獲得 cookie 值。key_name 表示一對 cookie 中 key 的 name 。
add cookie 添加 cookie。添加一對 cooke (key:value)
delete cookie 刪除 cookie。刪除 key 為 name 的 cookie 信息。
delete all cookies 刪除當前瀏覽器的所有 cookies。

 13、驗證should contain 

例子:先獲取頁面的title,賦值給${tt};然后去對比是否等於百度一下你就知道了。

14、表單嵌套

15、下拉框選擇

Arguments:[ locator | *values ]。 locator 為定位下拉框;Vlaue 為選擇下拉框里的屬性值。

16、執行 JavaScript

Execute Javascript 關鍵字用於使用 JavaScript 代碼,參數就是JavaScript 代碼

 

 

 

 

 

 




 


免責聲明!

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



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