Robot Framework自動化測試Selenium2Library庫詳細用法
一、瀏覽器驅動
通過不同的瀏覽器執行腳本。
Open Browser |
Htpp://www.xxx.com |
chrome |
瀏覽器對應的關鍵字:
firefox |
FireFox |
ff |
|
internetexplorer |
Internet Explorer |
ie |
|
googlechrome |
Google Chrome
|
gc |
|
chrome |
|
opera |
Opera |
phantomjs |
PhantomJS |
htmlunit |
HTMLUnit |
htmlunitwithjs |
HTMLUnit with Javascipt support |
android |
Android |
iphone |
Iphone |
safari |
Safari |
備註:
要想通過不同的瀏覽打開URL地址,一定要安裝瀏覽器相對應的驅動。如chrome 的驅動:
chromedriver.exe 等。
瀏覽器默認為空時啟動FireFox。
二、關閉瀏覽器
關閉瀏覽器
Close Browser |
|
|
關閉當前的瀏覽器。
關閉所有瀏覽器
Close All Browsers |
|
|
關閉所有打開的瀏覽器和瀏覽器緩存重置。
三、瀏覽器最大化
Maximize Browser Window |
|
|
使當前打開的瀏覽器全屏。
四、設置瀏覽器寬、高
Get Window Size |
800 |
600 |
以像素為單位,第一個參數800表示寬度,第二個參數600表示高度。
五、文本輸入
Input Text |
Xpath=//* [@] |
輸入信息 |
Xpath=//* [@] :表示元素定位,定位文本輸入框。
六、點擊元素
Click Element |
Xpath=//* [@] |
|
Xpath=//* [@] :表示元素定位,定位點擊的元素。
七、點擊按鈕
Click Button |
Xpath=//* [@] |
|
Xpath=//* [@] :表示元素定位,定位點擊的按鈕。
八、註釋
註釋1:
Comment |
註釋說明 |
|
註釋2:
# 註釋說明 |
|
|
除了使用Comment 關鍵字進行註釋外,Robot framework框架是基於python語言開發的,所以提供了python語言的註釋“#”方式。
九、固定時間休眠
Sleep |
42 |
|
Sleep |
1.5 |
|
Sleep |
2 minutes 10 seconds |
|
Sleep表示執行到當前行固定休眠多長時間,以“秒”為單位。
42表示42秒;
1.5 表示1.5秒;
2 minutes 10 seconds 表示2分10秒。
十、等待元素出現在當前頁面
Wait Until Page Contains Element |
Xpath=//* [@] |
42 |
error |
Xpath=//* [@] :表示元素定位,這裏定位出現的元素
42 : 表示最長等待時間。
Error : 表示錯誤提示,自定義錯誤提示,如:“元素不能正常顯示”
十一、獲取title
Get Title |
|
|
獲得當前瀏覽器窗口的title 信息。
這裏只獲取title 是沒有意義的,我們通常會將獲取的title 傳遞給一個變量,然後與預期結果進行比較。從而判斷當前腳本執行成功。
十二、獲取文本信息
Get Text |
Xpath=//* [@] |
|
Xpath=//* [@] : 定位文本信息的元素。
十三、獲取元素屬性值
Get Element Attribute |
[email protected] |
|
[email protected] : id=kw [email protected] 獲取這個元素的name屬性值。
十四、cookie處理
獲取cookie
get cookies |
|
|
獲得當前瀏覽器的所有cookie 。
獲得cookie值
get cookie value |
Key_name |
|
Key_name : key_name 表示一對cookie中key的name 。
刪除cookie
delete cookie |
Key_name |
|
刪除key為name 的cookie信息。
刪除所有cookies
delete all cookies |
|
|
刪除當前瀏覽器的所有cookie。
添加cookie
add cookie |
Key_name |
Value_name |
添加一對cooke (key:value)
十五、聲明變量
${a} |
Set Variable |
hello |
定義變量a為hello。
${a} |
${b}= |
Set Variable |
hello |
world |
定義變量a為hello ,b為world 。
十六、日誌(輸出)
${a} |
Set Variable |
Hello World |
log |
${a} |
|
在測試報告中輸出a變量的值hello word。
十七、獲得瀏覽器窗口寬、高
${width} |
${height} |
get window size |
log |
${width} |
|
log |
${height} |
|
獲得瀏覽瀏覽器窗口寬、高,通過log 將寬高,打印到報告中。
十八、驗證
open browser |
http://www.baidu.com |
chrome |
${title} |
Get Title |
|
should contain |
${title} |
百度一下,你就知道 |
Open Browser 通過chrome打開百度首頁。
Get Title 獲得瀏覽器窗口的titile ,並賦值給變量${title}
Should Contain 比較${title}是否等於“百度一下,你就知道”。
如果item1 不包含 item2 一次或多次,那麽失敗。
十九、表單嵌套
Select Frame |
Xpath=//* [@] |
|
Unselect Frame |
|
|
Select Frame 進入表單,Xpath=//* [@] 表示定位要進入的表單。
Unselect Frame 退出表單。
二十、下拉框選擇
Unselect From List By Value |
Xpath=//* [@] |
vlaue |
|
|
|
Xpath=//* [@] 定位下拉框;
Vlaue 選擇下拉框裏的屬性值。
二十一、If分支語句
${a} |
Set variable |
2 |
|
|
${b} |
Set variable |
5 |
|
|
run keyword if |
${a}>=1 |
log |
a大於1 |
|
... |
ELSE IF |
${b}<=5 |
log |
b小於等於5 |
... |
ELSE |
log |
上面兩個條件都不滿足 |
|
首先定義兩個變量a ,b 分別為 2 和5 。
If 判斷 a 大於等於1 ,滿足條件log 輸出 “a大於1 ”;
不滿足上面的條件,接著else if 判斷b小於等於5 ,滿足條件log 輸出 “b小於等於5”;
上面兩個條件都不滿足,else log輸出“上面兩個條件都不滿足”。
備註:註意sele if 和else前面的三個點點點(...)
二十二、for 循環語句
循環1
:FOR |
${i} |
in range |
10 |
|
log |
${i} |
|
查看結果:
循環變量i 從0 到9 循環10次。
循環2
@{a} |
create list |
aaa |
bbb |
:FOR |
${i} |
in |
@{a} |
|
log |
${i} |
|
@{a} 定義為一個字符串列表。
通過in 可遍歷非整型(in range)
說明:
Log 、if 分支,for 循環並非selenium關鍵字庫的提供的方法,是由BuiltIn包提供。
Robot Framework自動化測試Selenium2Library庫詳細用法