RFS自動化測試工具安裝與使用總結

轉載:http://blog.csdn.net/a5650892/article/details/77826021javascript

一,調試
1,在調試時,總時提示「沒法打開瀏覽器」
解決辦法:
1,把瀏覽器的代理關閉
2,把瀏覽器的顯示比例調到100%
3,在IE設置的安全選項中,把啓用保護模式開啓 
4,去除進入系統彈出的登陸提示
   在瀏覽器中---工具---internet選項---安全---把只在intranet自動登陸,改成匿名登陸

二,安裝加載庫
1,RequestsLibrary
先安裝Requests工具,再安裝RequestsLibrary
再在robot中進行加載lib,若是加載的庫仍是紅色的,重啓就能夠了

三,經常使用關鍵字
open browser    打開瀏覽器
input text    在文本框中錄入內容
input password    在文本框中錄入密碼
click button    點擊按鈕
page should  (NOT)contain (link,button,element,checkbox,list)   頁面是否出現指定的內容html


close browser    關閉瀏覽器

多個打開瀏覽器切換
open browser    http://127.0.0.1:8000/    ie    local    
switch browser    local        

針對頁面彈出窗口的確認鍵
confirm action----相似於點擊彈出窗的確認或OK鍵前端

alert should be present  當前彈窗的內容   -----判斷當前指定內容的彈窗是否存在java

get alert message---獲取彈出窗的信息python

${msg}=     get alert messagemysql

should be equal as string  ${msg}   *****git

在彈窗中選擇取消操做github

a,choose cancle on next confirmactionsql

b,confirm action數據庫


設置日誌級別
Set Log Level    TRACE

下拉列表
select from list xpath value
select from list by value    xpath value
select from list by index    xpath value

框架
select frame    id=fra
unselect frame

複選框
select checkbox    id=CheckYes
unselect checkbox    id=CheckNo

checkbox should not be selected
select checkbox
checkbox should be selected

單選框
select radio button    radio1---單選框名稱    A--value)

click element    id=registerGenderMale

Oracle數據庫
connect to database using custom params(關鍵字)    cx_Oracle    用戶名,密碼,SID
${row}    row count    select * from 表1;

等待頁面加載
wait until page contains element
sleep
reload page---刷新

註釋
Comment

幾個關鍵字的區別
Wait Until Keyword Succeeds
wait until page contains element
SLEEP
element should contain
page should contain element
page should contain
Element Should Not Be Visible

判斷的使用

判斷條件---數字對比
Run Keyword If    ${res} == 0    執行的關鍵字
... ELSE 執行的關鍵字2

判斷條件---字符對比
Run Keyword If    ‘${res}’ == ‘ttttt'    執行的關鍵字
判斷條件---布爾類型對比
Run Keyword If    '${res}' == '${true}'    執行的關鍵字

HTTP接口
create session    httpserver    http://localhost:8000
${addr}    Get request    httpserver    users/s
should be equal as strings    ${addr.status_code}    200
log    ${addr.content}    
${resp}    tojson    ${addr.content}

四,常見問題解答
1,定位不到元素
Element locator '//input[@id="registerName"]' did not match any elements.
前端代碼
<td>
<div class="c">
<span id="disp_registerName" class="cp edit_hide" style="display: none;"></span>
<input id="registerName" class="pa_ui_text edit_show pa_ui_element_normal" type="text" otitle="車主姓名" value="" name="register.name" style="display: inline;">
</div>
</td>
解決方法:
先從最裏面的元素開始一級一級往上找,找到iframe,而後先select frame這個ID就能夠定位到裏面的元素了。

2,InvalidElementStateException: Message: u'Element must not be hidden, disabled or read-only'
針對根據複選框的狀態,解決文本框中默認帶出內容時。若是這樣寫就會報錯
select checkbox    id=noLicenseFlag
input text    id=registerName    湘A*
像這樣的組合,後面那句input text    id=registerName    湘A*直接刪除就能夠了。

3,頁面操做按鈕提示找不到elements
click button id=carInfoSubmitBtn
改成click element id=carInfoSubmitBtn

4,根據錄入框內容彈出框框,定位不到元素
採用相對路徑的方式定位,用firefox瀏覽器打開地址,按F12獲取元素位置,右擊---選擇複製XPATH
放在腳本中形式爲:xpath=/html/body/div[9]/div[2]/table/tbody/tr[4]/td[4]

6,InvalidElementStateException: Message: u'Element must not be hidden, disabled or read-only'
出現這個現象是由於腳本執行快,而頁面的元素尚未加載完成形成的。
等待頁面加載
wait until page contains element或sleep

7,頁面執行時沒有報錯,但一直停在那裏了
利用Mouse out 關鍵字,移開鼠標動做。

8,使用close broswer關閉瀏覽器不起做用
首先安裝pywin32-217.win32-py2.7.exe,再安裝AutoItLibrary庫,在close broswer關鍵字
下一行,增長刪除進線的關鍵字: process close iexplore.exe

10,查看全部有關robot相關庫的版本
pip list

11,經過pip升級庫或程序版本
1,Python -m pip install --upgrade pip
報錯:
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
2,根據提示,執行命令
python -m pip install --upgrade pip
報錯:Requirement already up-to-date: pip in c:\python27\lib\site-packages
3,找到c:\python27\lib\site-packages下這個目錄pip-8.1.1.dist-info並刪除,從新執行
python -m pip install --upgrade pip
4,查看是否更新成功
pip list後顯示最新版本

12,利用pip更新庫或RIDE或robot
pip install robotframework-ride --upgrade
再用pip list能夠看到升級成功的版本號了

13,Run Keyword And return status關鍵字識別不了
利用pip更新RIDE,robot,selenium2Library

14,ImportError:No module named cx_Oracle
根據鏈接oracle客戶端的版本如:11G,操做系統是32位仍是64位
安裝對應的cx_Oracle安裝包,如:cx_Oracle-5.1.2-11g.win32-py2.7

15,Unable to acquire Oracle environment handle
在oracle客戶端的目錄中把oci.dll,oraocci11.dll,oraociei11.dll文件複製到C:\Python27\Lib\site-packages目錄中

16,日誌目錄
Log:     d:\users\liujun~1\appdata\local\temp\RIDEwzyfth.d\log.html
Report:  d:\users\liujun~1\appdata\local\temp\RIDEwzyfth.d\report.html

17,在IE中若是click不起做用,用以下關鍵字
press key id=kw    \\13

18,單選框實例
<p class="checkBox">
<input id="registerGenderMale" class="pa_ui_element_normal" type="radio" value="M" name="register.gender" otitle="車主-性別男">
<label class="radiotxt" hidefocus="hidefoces" for="registerGenderMale">男</label>
<input id="registerGenderFemale" class="pa_ui_element_normal" type="radio" value="F" name="register.gender" otitle="車主-性別女">
<label class="radiotxt" hidefocus="hidefoces" for="registerGenderFemale">女</label>
</p>
select radio button    register.gender    M

19,下拉列表實例
<div class="pa_ui_dropselect_inner paui-clearfix">
<span class="pa_ui_dropselect_input_Container" style="width: 71px;">
<input class="pa_ui_dropselect_input" type="text" readonly="readonly" otitle="V3版-送單地址-縣級市" style="width: 71px; opacity: 1;">
</span>
<span class="pa_ui_dropselect_button" otitle="V3版-送單地址-縣級市">
</div>
select from list class="pa_ui_dropselect_inner paui-clearfix" 江北區

 

20,經過PIP安裝Selenium2Library報錯
C:\Users\Administrator>pip install Selenium2Library
Collecting Selenium2Library
  Could not find a version that satisfies the requir
 versions: )
No matching distribution found for Selenium2Library

解決辦法:
pip install robotframework-Selenium2Library
就能夠了

21,安裝IEDriver報錯
WebDriverException: Message: 'IEDriverServer.exe' executable needs to be in PATH. Please download fromhttp://selenium-release.storage.googleapis.com/index.html and read up athttps://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
解決辦法:
下載對應系統版本的IEDriverServer.exe放在IE的安裝目錄下和Python的根目錄下,並設置PATH。

22,滾動鼠標拖動滾動條到最頂部或最底部
execute JavaScript id.scrollTop其中id爲滾動條區域對應的id,用法:
如:execute javascript J_introCon.scrollTop=0是拖到最頂部,execute javascript J_introCon.scrollTop=100000是拖到最底部

 

23,在CASE中的setup中能夠設置運行CASE前,運行SETUP裏面的關鍵字。teardown中能夠設置運行CASE後,指定要運行的關鍵字

 

24,知足條件結束腳本
exit for loop
如:若是count值爲0,則結束CASE
run keyword if ${count}==0 exit for loop

 

25,執行SQL時報錯:DatabaseError:ORA-00911:Invalid character
去掉SQL後面的 ; 

 

26,執行SQL查詢Execute sql String  select * from 表名

相關文章
相關標籤/搜索