一、涉及軟件
- python:RF是基於python 的,所以需要有python環境
-
wxPython:是Python語言的一套優秀的GUI圖形庫。允許Python程序員很方便的創建完整的、功能鍵全的GUI用戶界面。 RIDE 是基於這個庫開發的,所以這個必須安裝,python和wxpython的版本是需要對應的。
- Robot Famework:是一款python編寫的功能自動化測試框架。具備良好的可擴展性,支持關鍵字驅動,可以同時測試多種類型的客戶端或者接口,可以進行分布式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發(ATDD)。
- Robot Framework-Ride:是Robot Famework的圖形操作前端,用於創建、組織、運行測試;
- Selenium:自動化測試工具,它主要是用於 Web 應用程序的自動化測試,但並不只局限於此,同時支持所有基於 web 的管理任務自動化。
- Robot Framework-selenium2library:是Robot Framework的Web測試庫,它在內部使用Selenium工具。
- Browser drivers:瀏覽器驅動,安裝庫之后,您仍需要為要在測試中使用的所有瀏覽器安裝瀏覽器和特定於操作系統的瀏覽器驅動程序。
- decorator:Python 裝飾器。
- Pycharm:一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。
- IntelliBot :Robot Framework的Pycharm 插件,可使編輯器識別robotframework的腳本文件。
二、安裝步驟
1、Python 3.7.4
官網下載:http://www.python.org/download
安裝:建議使用安裝包形式安裝
配置環境變量
驗證:控制台輸入 python –V
2、wxPython
pip命令安裝:pip install wxPython
驗證:控制台輸入 python import wxPython
3、Robot Framework
pip install robotframework
4、Robot Framework-Ride
pip install robotframework-ride
5、Selenium
pip install selenium
此步驟可省略,直接進入下一步,下一步的安裝包包含此內容。
6、Robot Framework-seleniumlibrary
pip install robotframework-selenium2library
升級使用最新的庫 SeleniumLibrary
pip install --upgrade robotframework-seleniumlibrary
7、Browser drivers
1)手動下載
下載地址:https://seleniumhq.github.io/selenium/docs/api/py/index.html#drivers
下載完畢后解壓至特定目錄,並添加路徑至path變量中。
2)pip命令下載
使用名為WebdriverManager的工具,它可以找到最新版本或在需要時為您找到任何版本的相應Web驅動程序,然后下載並鏈接/復制到正確的位置。工具可以在所有主要操作系統上運行,並支持下載Chrome,Firefox,Opera和Edge網絡驅動程序。舉例如下:
pip install webdrivermanager webdrivermanager firefox chrome --linkpath / usr / local / bin
8、decorator
pip install decorator
9、Pycharm
官網:https://www.python.org/ 下載安裝,本文中使用版本為2019.1.3
10、IntelliBot
IntelliBot是Pycharm的插件,通過Pycharm進行安裝
1)、安裝IntelliBot
File—>settings—>Plugins—>搜索 IntelliBot—>install
2)、配置robotframework的文件類型識別
File—>settings—>Editor—>File Types -->Robot Feature –>在Registered Patterns 中添加兩種類型:*.txt,*.robot
點擊保存
3)、運行配置
File—>settings—>Tools—>External Tools –>添加兩個運行配置。
The robot script is new in Robot Framework 3.0. Prior to that, there were pybot, jybot and ipybot scripts that executed tests using Python, Jython and IronPython, respectively. These scripts were removed in Robot Framework 3.1 and nowadays robot must be used regardless the interpreter.
Robot Framework 3.0 后,pybot、jybot、ipybot 被移除,僅支持robot使用。
a、suite 運行時配置
name: Robot Run TestSuite
Program: D:\Python37\Scripts\pybot.bat (python安裝目錄下面pybot.bat的路徑,如果“D:\Python36\Scripts\”有加環境變量,這里可以直接寫pybot.bat)
Arguments: -d results $FileName$ (-d results 意思是生成的結果放到results 目錄下面,$FilePath$是執行測試套件或者單條用例的路徑)
Working directory: $FileDir$ (工作目錄,上面一個參數的results 目錄會創建在這個目錄的下一級)
name: Robot Run TestSuite
Program: D:\Python\Python37\Scripts\robot.exe
Arguments: -d results $FileName$
Working directory: $FileDir$
b、case 運行時配置
name: Robot Run SingleTestCase
Program: D:\Python37\Scripts\pybot.bat
Arguments: -d results -t "$SelectedText$" ./
Working directory: $FileDir$
以上配置導致用例執行失敗,替換為如下配置
name: Robot Run SingleTestCase
Program: D:\Python\Python37\Scripts\robot.exe
Arguments: -d results "$SelectedText$"
Working directory: $FileDir$
4)、robot 腳本運行驗證
測試腳本如下:
*** Settings *** Library Selenium2Library *** Test Cases *** test01 [Documentation] 測試淘寶 Open Browser https://login.taobao.com/member/login.jhtml chrome Click Element xpath=//*[@id="J_Quick2Static"] Sleep 1 Input Text xpath=//*[@id="TPL_username_1"] 123 Input Text xpath=//*[@id="TPL_password_1"] 123 ${title_1} Get Title Click Button xpath=//*[@id="J_SubmitStatic"] Sleep 2 ${title_2} Get Title should not contain ${title_2} ${title_1} Close browser
選中腳本,右鍵—>External Tools –>Robot Run TestSuite
執行結果:
測試報告如下:
三、可能遇到的問題
在設置robot 運行配置時,可能會發現自己的Python安裝路徑中找不到pybot.bat文件,解決辦法如下:
1.打開目錄:D:\Python37\Scripts\
2.新建一個pybot.txt的文本
3.文本內容輸入:
@Echo off
python -m robot.run %*
4.保存文件,修改文件后綴為.bat
5.大功告成!