RF關鍵字定位元素詳解


定位示例

RF關鍵字 定位 內容
Input Text id=kw1 robotframework
Input Text name=wd robotframework
Click Button id=su1  
Input Text css=[name=wd] rf
Input Text xpath = //span[@class=’bg s_ipt_w’]/input  

 

Xpath定位

  定位 講解
Xpath絕對路徑 xpath=/html/body/div[1]/div[4]/span[1]/input  
Xpath相對路徑 xpath=//*[@id='kw1'] 某個層級下,屬性為id=kw1的元素
  xpath=//input[@type='text'] 標簽名為input的且屬性type=text的元素
  xpath = //form[@id=’form1’]/span/input 根據容易定位的上級元素開始找
  xpath = //input[@id=’kw1’ and @name=’wd’] 同時擁有兩個屬性的標簽
  xpath = //input[@id=’kw1’ or @name=’wd’] 擁有屬性A的標簽或者擁有屬性B的標簽

CSS定位

選擇器 例子 講解
.class .intro 選擇class=”intro“的所有元素
#id #firstname 選擇id="firstname"的所有元素
* * 選擇所有元素
element p 選擇所有<p>元素
element,element div,p 選擇所有<div>元素和所有<p>元素
element element div p 選擇 <div> 元素內部的所有 <p> 元素
element>element div>p 選擇父元素為 <div> 元素的所有 <p> 元素
element+element div+p 選擇緊接在 <div> 元素之后的所有 <p> 元素,相鄰關系
[attribute] [target] 選擇帶有 target 屬性所有元素
[attribute=value] [target=_blank] 選擇 target="_blank" 的所有元素
[attribute~=value] [title~=flower] 選擇 title 屬性包含單詞 "flower" 的所有元素
[attribute|=value] [lang|=en] 選擇 lang 屬性值以 "en" 開頭的所有元素

 

selenium2library的API

關鍵字 輸入的值 操作平台 其他   備注
Open Browser 完整的url chrome    

chrome:googlechrome/gc/chrome

IE:internetexplorer/ie

firefox:ff/firefox

Opera:opera

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=//* [@]  輸入信息      文本輸入
 Click Element  Xpath=//* [@]       點擊元素 
 Click Button  Xpath=//* [@]       點擊按鈕
choose file xpath=//* [@] C:\\Do\\bug5.png     上傳圖片文件
 Comment  注釋說明       注釋一
 # 注釋說明         注釋二 
 Sleep 42       

固定休眠多長時間,以“秒”為單位

2 minutes 10 seconds 表示2分10秒

 Wait Until Page Contains Element  Xpath=//* [@]  42 error  

 Xpath=//* [@] :表示元素定位,這里定位出現的元素,42表最大等待時間

error表示自定義錯誤提示,如:元素不能正常顯示

 Get Title          獲得當前瀏覽器窗口的title 信息
 Get Text  Xpath=//* [@]        獲取文本信息,定位文本信息的元素
 Get Element Attribute  id=kw@name        獲取元素元素屬性值,id=kw 表示定位的元素。@nam 獲取這個元素的name屬性值
 get cookies          獲得當前瀏覽器的所有cookie
 get cookie value  Key_name        獲取cookie的值,key_name 表示一對cookie中key的name
 delete cookie Key_name         刪除cookie,刪除key為name 的cookie信息
 delete all cookies          刪除當前瀏覽器的所有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 
log ${a}       在測試報告中輸出a變量的值
${width} ${height} get window size     獲得瀏覽瀏覽器窗口寬、高,通過log 將寬高,打印到報告中
log ${width}        
log ${height}        

selenium2library的API高級

          備注
驗證          
open browser http://www.baidu.com chrome     Open Browser 通過chrome打開百度首頁
${title} Get Title       Get Title 獲得瀏覽器窗口的titile ,並賦值給變量${title}
Should Contain ${title} 百度一下,你就知道     Should Contain 比較${title}是否等於“百度一下,你就知道”
嵌套          
Select Frame Xpath=//* [@]        進入表單,Xpath=//* [@] 表示定位要進入的表單
Unselect Frame         退出表單
下拉框          
Unselect From List By Value Xpath=//* [@] vlaue     定位下拉框,Vlaue 選擇下拉框里的屬性值
IF分支語句          
${a}  Set variable 2     定義兩個變量a ,b 分別為 2 和5 
${b} Set variable 5      
run keyword if ${a}>=1 log a大於1   If 判斷 a 大於等於1 ,滿足條件log 輸出 “a大於1 ”
... ELSE IF ${b}<=5 log b小於等於5 不滿足上面的條件,接着else if 判斷b小於等於5 ,滿足條件log 輸出 “b小於等於5”
... ELSE log 上面兩個條件都不滿足   上面兩個條件都不滿足,else  log輸出“上面兩個條件都不滿足”
for循環語句          
:FOR ${i} in range 10   循環變量i 從0 到9 循環10次
  log ${i}     輸出到log
for循環語句          
@{a} create list aaa bbb  

@{a} 定義為一個字符串列表。通過in 可遍歷非整型(in range)

:FOR ${i} in @{a}   Log 、if 分支,for 循環並非selenium關鍵字庫的提供的方法,是由BuiltIn包提供
  log ${i}      

 關鍵字驅動

如“open browser” 就是一個關鍵字。從底層去看它就是一個通過編程去現實的一個方法。

def  open_browser(url,browser):
#通過browser找到相應的瀏覽器驅動,調用瀏覽器,借助python的httplib、urllib模塊將url傳遞給瀏覽器。從而實現open brwoser 的目的。
上面的偽代碼表述的“關鍵字”的底層其實還是程序定義的方法。
把操作步驟封裝一個一個的方法(關鍵字),通過調用關鍵字來實現測試用例。
定位單個元素 定位多個元素
find_element_by_id find_elements_by_name
find_element_by_name find_elements_by_xpath
find_element_by_xpath  
find_element_by_link_text  
find_element_by_partial_link_text  
find_element_by_tag_name  
find_element_by_class_name  
find_element_by_css_selector  

size 獲取元素的尺寸
text 獲取元素的文本
get_attribute(name) 獲取屬性值
location 獲取元素坐標,先找到要獲取的元素,再調用該方法
page_source 返回頁面源碼
driver.title 返回頁面標題
current_url 獲取當前頁面的URL
is_displayed() 設置該元素是否可見
is_enabled() 判斷元素是否被使用
is_selected() 判斷元素是否被選中
tag_name 返回元素的tagName


set window size :設置瀏覽器寬、⾼
get window size :獲取瀏覽器寬、⾼
go back :瀏覽器進⾏回退操作
reload page:頁面重新加載,即頁面刷新操作
get title:獲取當前瀏覽器窗⼝的標題
get location:獲取當前URL?


免責聲明!

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



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