天天看點

robotFrameworks_API _selenium

說明:

   此文檔隻是将最常用的UI 操作列出。更多方法請查找selenium 關鍵字庫。

robotFrameworks_API _selenium

一、浏覽器驅動

通過不同的浏覽器執行腳本。

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 id=kw@name

id=kw@name : id=kw 表示定位的元素。@nam 擷取這個元素的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。

robotFrameworks_API _selenium

十七、獲得浏覽器視窗寬、高

${width} ${height} get window size
log ${width}
log ${height}

獲得浏覽浏覽器視窗寬、高,通過log 将寬高,列印到報告中。

robotFrameworks_API _selenium

十八、驗證

open browser ​​http://www.baidu.com​​ chrome
${title} Get Title
should contain ${title} 百度一下,你就知道

Open Browser 通過chrome打開百度首頁。

Get Title 獲得浏覽器視窗的titile ,并指派給變量${title}

Should Contain 比較${title}是否等于“百度一下,你就知道”。

robotFrameworks_API _selenium

如果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}

檢視結果:

robotFrameworks_API _selenium

循環變量i 從0 到9 循環10次。

循環2

@{a} create list aaa bbb
:FOR ${i} in @{a}
log ${i}

@{a} 定義為一個字元串清單。

通過in 可周遊非整型(in range)

robotFrameworks_API _selenium

說明:

繼續閱讀