RobotFramework自動化測試框架-Selenium Web自動化(三)關於在RobotFramework中如何使用Selenium很全的總結(下)

本文緊接着RobotFramework自動化測試框架-Selenium Web自動化(二)關於在RobotFramework中如何使用Selenium很全的總結(上)繼續分享RobotFramework中如何使用Selenium進行自動化測試。html

本文章節目錄:web

一、Get Valuechrome

二、Get Webelements和Get Webelement數據庫

三、Get Window Titles瀏覽器

四、Go Back 和 Go Tosession

五、Get List Items框架

六、Get Selected List Value工具

7、Select From Listpost

本文做者:張永清,若是轉載請註明出處RobotFramework自動化測試框架-Selenium Web自動化(三)關於在RobotFramework中如何使用Selenium很全的總結(下),不然追求一切法律責任。開發工具

一、Get Value

Get Value 關鍵字用於獲取某個元素標籤對應的value屬性,該關鍵字接收[ locator ]這一個參數,locator能夠經過id,name,xpath等均可以進行定位。

示例1:這裏咱們以訪問博客園的登陸頁面爲示例,咱們這裏獲取登陸按鈕對應的value,以下圖所示。

 

Open Browser       https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F      chrome

${value} Get Value      id=signin

log   ${value}

Close Browser             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0012

20180728 13:34:51.578 :  INFO : Opening browser 'chrome' to base url 'https://passport.cnblogs.com/user/signin?ReturnUrl=https%3A%2F%2Fwww.cnblogs.com%2F'

20180728 13:35:00.116 :  INFO : get_attribute value

20180728 13:35:00.124 :  INFO : ${value} = 登 錄

20180728 13:35:00.125 :  INFO : 登 錄

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0012

二、Get Webelements和Get Webelement

Get Webelements 關鍵字用來獲取全部得到的WebElement對象的列表,該關鍵字接收[ locator ]這一個參數,locator能夠經過id,name,xpath等均可以進行定位。

Get Webelement關鍵字和Get Webelements很相似,只不過Get Webelement 只會返回匹配到的第一個WebElement對象。

示例1:訪問百度首頁,而後根據locator 爲name=tj_trnews來獲取到能夠匹配到的全部的WebElement對象的列表

Open Browser       http://www.baidu.com    chrome

${ement}       Get Webelements  name=tj_trnews

log   ${ement}      

Close Browser             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0013

20180728 14:54:42.820 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 14:54:50.182 :  INFO : ${ement} = [<selenium.webdriver.remote.webelement.WebElement (session="47f749d3fcd2d5037a56e6ada80f38ba", element="0.8260127734608302-1")>]

20180728 14:54:50.183 :  INFO : [<selenium.webdriver.remote.webelement.WebElement (session="47f749d3fcd2d5037a56e6ada80f38ba", element="0.8260127734608302-1")>]

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0013

示例2:訪問百度首頁,而後根據locator 爲name=tj_trnews來獲取匹配到的第一個WebElement對象

Open Browser       http://www.baidu.com    chrome

${ement}       Get Webelement   name=tj_trnews

log   ${ement}      

Close Browser             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0014

20180728 15:01:58.469 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 15:02:07.093 :  INFO : ${ement} = <selenium.webdriver.remote.webelement.WebElement (session="0382b83b32515ea731a4497ab3699131", element="0.20523497043976824-1")>

20180728 15:02:07.094 :  INFO : <selenium.webdriver.remote.webelement.WebElement (session="0382b83b32515ea731a4497ab3699131", element="0.20523497043976824-1")>

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0014

三、Get Window Titles

Get Window Titles用來獲取當前已經打開的瀏覽器窗口的全部Title。該關鍵字接收不須要接收任何的參數。

示例1:這裏咱們打開百度的首頁,而後點擊首頁右上角的」新聞」連接按鈕,挑戰到百度新聞頁面,最後獲取該窗口下的全部Title。

Open Browser       http://www.baidu.com    chrome

Click Link     新聞      

${title1}  Get Window Titles      

log   ${title1} 

Close All Browsers             

運行結果以下:以下圖所示。

 

本文做者:張永清,若是轉載請註明出處RobotFramework自動化測試框架-Selenium Web自動化(三)關於在RobotFramework中如何使用Selenium很全的總結(下),不然追求一切法律責任。

四、Go Back 和 Go To

Go Back 和 Go To關鍵字分別用來模擬對瀏覽器進行後退和前進的操做。Go Back關鍵字不須要接收任何的參數,Go To關鍵字接收一個[ url ]參數。url是一個須要跳轉到的地址。

示例1:這裏咱們首先訪問百度首頁,以後點擊」新聞」連接,跳轉到百度新聞頁面,而後咱們執行Go Back 回退到百度首頁,最後使用Go To跳轉到博客園首頁,在每個操做中,咱們都記錄了瀏覽器的窗口標題。

Open Browser       http://www.baidu.com    chrome

Click Link     新聞      

${title1}  Get Window Titles      

log   ${title1} 

Go Back       

${title2}  Get Window Titles      

log   ${title2} 

Go To     https://www.cnblogs.com/    

${title3}  Get Window Titles      

log   ${title3} 

Close All Browsers             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0016

20180728 15:26:17.443 :  INFO : Opening browser 'chrome' to base url 'http://www.baidu.com'

20180728 15:26:24.906 :  INFO : Clicking link '新聞'.

20180728 15:26:27.947 :  INFO :

Altogether 1 item.

1: 百度新聞——全球最大的中文新聞平臺

20180728 15:26:27.948 :  INFO : ${title1} = [u'\u767e\u5ea6\u65b0\u95fb\u2014\u2014\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u65b0\u95fb\u5e73\u53f0']

20180728 15:26:27.949 :  INFO : [u'\u767e\u5ea6\u65b0\u95fb\u2014\u2014\u5168\u7403\u6700\u5927\u7684\u4e2d\u6587\u65b0\u95fb\u5e73\u53f0']

20180728 15:26:28.239 :  INFO :

Altogether 1 item.

1: 百度一下,你就知道

20180728 15:26:28.240 :  INFO : ${title2} = [u'\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053']

20180728 15:26:28.242 :  INFO : [u'\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053']

20180728 15:26:28.244 :  INFO : Opening url 'https://www.cnblogs.com/'

20180728 15:26:31.021 :  INFO :

Altogether 1 item.

1: 博客園 - 開發者的網上家園

20180728 15:26:31.021 :  INFO : ${title3} = [u'\u535a\u5ba2\u56ed - \u5f00\u53d1\u8005\u7684\u7f51\u4e0a\u5bb6\u56ed']

20180728 15:26:31.022 :  INFO : [u'\u535a\u5ba2\u56ed - \u5f00\u53d1\u8005\u7684\u7f51\u4e0a\u5bb6\u56ed']

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0016

從運行的日誌能夠很清楚的看到Go Back 和 Go To關鍵字在使用時起到的效果。

五、Get List Items

Get List Items關鍵字用來獲取獲取頁面中一個下拉列表中全部的下拉選項,關鍵字接收[ locator ]一個參數,locator能夠經過id或者name等來進行元素定位。

示例1:咱們以訪問百度貼吧中以下的下拉框爲例來對該關鍵字的使用進行說明,以下圖所示。

 

Open Browser       http://tieba.baidu.com/f/search/adv?red_tag=u3387165643  chrome

@{Items}       Get List Items       name=sm

Close Browser             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0023

20180728 23:27:16.635 :  INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'

20180728 23:27:24.714 :  INFO : get_attribute multiple

20180728 23:27:24.878 :  INFO : @{Items} = [ 按時間倒序 | 按時間順序 | 按相關性排序 ]

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0023

六、Get Selected List Value

Get Selected List Value關鍵字用於獲取頁面中選中的一個下拉列表的Value值,關鍵字接收[ locator ]一個參數,locator能夠經過id或者name等來進行元素定位。

示例1:這裏咱們依然以訪問百度貼吧中以下的下拉框爲例來對該關鍵字的使用進行說明,以下圖所示

 

Open Browser       http://tieba.baidu.com/f/search/adv?red_tag=u3387165643  chrome

${Value} Get Selected List Value      name=sm

log   ${Value}

Close Browser             

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0025

20180728 23:54:56.379 :  INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'

20180728 23:55:05.545 :  INFO : get_attribute multiple

20180728 23:55:05.599 :  INFO : get_attribute value

20180728 23:55:05.609 :  INFO : ${Value} = 1

20180728 23:55:05.610 :  INFO : 1

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0025

從運行結果看,恰好與咱們經過瀏覽器的開發工具看到的value值徹底一致,以下圖所示。

 

 

 

7、Select From List

Select From List關鍵字用來模擬從指定的下拉列表中選擇指定的下拉列表選項,該關鍵字接收[ locator | *items ]多個參數,locator能夠經過id,name來進行元素的定位,當列表中傳入多個值時,默認選擇最後一條,若是傳入的是一個空列表,那麼會默認選擇這個列表中的全部值。

本文做者:張永清,若是轉載請註明出處RobotFramework自動化測試框架-Selenium Web自動化(三)關於在RobotFramework中如何使用Selenium很全的總結(下),不然追求一切法律責任。

示例1:這裏咱們繼續訪問百度貼吧,咱們的目標是經過Select From List關鍵字選中這個選項。咱們經過瀏覽器的開發者工具能夠看到

這個選項對應的value爲2,因此咱們在關鍵字的參數中傳入的參數爲2,以下圖 所示。

Open Browser       http://tieba.baidu.com/f/search/adv?red_tag=u3387165643  chrome

Select From List   name=sm       2

sleep       5    

Close Browser          

 

運行結果以下:

Starting test: RobotFrameworkTest1.TestSuite6.TestCase0031

20180729 09:53:40.279 :  INFO : Opening browser 'chrome' to base url 'http://tieba.baidu.com/f/search/adv?red_tag=u3387165643'

20180729 09:53:49.543 :  INFO : Selecting option(s) '2' from list 'name=sm'.

20180729 09:53:49.582 :  INFO : get_attribute multiple

20180729 09:53:54.675 :  INFO : Slept 5 seconds

Ending test:   RobotFrameworkTest1.TestSuite6.TestCase0031

從實際執行的效果看,已經能夠成功選中這個列表,以下圖所示。

 

備註:本文內容摘選自做者本身出版的Robot Framework自動化測試框架核心指南  一書。

關於自動化測試的更多內容,請關注:


Robot Framework自動化測試框架核心指南京東官方購買
Robot Framework自動化測試框架核心指南電子版試讀
Robot Framework自動化測試框架核心指南天貓官方旗艦店購買
Robot Framework自動化測試框架核心指南噹噹網購買
Robot Framework自動化測試框架核心指南 做者簽名版本購買

相關博文彙總:

RobotFramework下的http接口自動化Create Http Context關鍵字的使用

 

RobotFramework下的http接口自動化Get關鍵字的使用

RobotFramework下的http接口自動化post關鍵字的使用

如何建立一個自動化測試項目

RobotFramework下的http接口自動化Get Response Body關鍵字的使用

RobotFramework下的http接口自動化Get Response Status 關鍵字的使用

RobotFramework下的http接口自動化Get Response header 關鍵字的使用

RobotFramework下的http接口自動化Set Request Header 關鍵字的使用

RobotFramework下HttpLibrary庫其它關鍵字

RobotFramework下的http接口自動化Set Request Body 關鍵字的使用

RobotFramework下的http接口自動化Follow Response關鍵字的使用

RobotFramework自動化測試框架的基礎關鍵字(一)

RobotFramework自動化測試框架的基礎關鍵字(二)

RobotFramework自動化測試框架的基礎關鍵字(三)

RobotFramework自動化測試框架的基礎關鍵字(四)

RobotFramework自動化測試框架的基礎關鍵字(五)

RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary介紹

RobotFramework自動化測試框架-移動手機自動化測試Open Application關鍵字的使用

RobotFramework自動化測試框架-經常使用斷言關鍵字

RobotFramework自動化測試框架-移動手機自動化測試AppiumLibrary庫其它的常見自動化關鍵字

RobotFramework自動化測試框架-移動手機自動化測試Input Text和Click Button關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Clear Text關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Click Element關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Click A Point關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Click Element At Coordinates關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Get Element Location關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Get Network Connection Status和Set Network Connection Status關鍵字的使用

RobotFramework自動化測試框架-移動手機自動化測試Element Attribute Should Match關鍵字的使用

RobotFramework自動化測試框架-DatabaseLibrary庫的使用(對數據庫的操做)

RobotFramework自動化測試框架-使用Python編寫自定義的RobotFramework Lib

RobotFramework自動化測試框架-Selenium Web自動化(-)-Open Browser和Close Browser

RobotFramework自動化測試框架-Selenium Web自動化(二)關於在RobotFramework中如何使用Selenium很全的總結(上)

RobotFramework自動化測試框架-MongoDBLibrary庫的使用

原文出處:https://www.cnblogs.com/laoqing/p/11966769.html

相關文章
相關標籤/搜索