Robot Framework自動化測試 第三節 --seleniumAPI

Robot  Framework  Selenium  API

 

說明:

   此文檔只是將最常用的UI 操作列出。更多方法請查找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 表示210秒。

 

 

十、等待元素出現在當前頁面

 

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 表示一對cookiekeyname 

 

刪除cookie

delete cookie

Key_name

 

刪除keyname cookie信息。

 

刪除所有cookies

delete all cookies

 

 

刪除當前瀏覽器的所有cookie

 

添加cookie

add cookie

Key_name

Value_name

添加一對cooke keyvalue

 

 

十五、聲明變量

 

${a}

Set Variable

hello

定義變量ahello

 

${a}

${b}=

Set Variable

hello

world

定義變量ahello bworld 

 

 

 

十六、日誌(輸出)

 

${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

上面兩個條件都不滿足

 

 

首先定義兩個變量分別爲 

If 判斷 大於等於,滿足條件log 輸出 “a大於1 ”;

不滿足上面的條件,接着else if 判斷b小於等於,滿足條件log 輸出 “b小於等於5”;

上面兩個條件都不滿足,else  log輸出“上面兩個條件都不滿足”。

 

備註:注意sele if else前面的三個點點點(...

 

 

 

二十二、for 循環語句

 

循環1

:FOR

${i}

in range

10

 

log

${i}

 

 

查看結果:

 

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

 

 

循環2

@{a}

create list

aaa

bbb

:FOR

${i}

in

@{a}

 

log

${i}

 

@{a} 定義爲一個字符串列表。

通過in 可遍歷非整型(in range

 

 

說明:

Log if 分支,for 循環並非selenium關鍵字庫的提供的方法,是由BuiltIn包提供。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章