前言
Robot Framework作為公司能快速落地實現UI自動化測試的一款框架,同時也非常適合剛入門自動化測試的朋友們去快速學習自動化,筆者計划通過從搭建逐步到完成自動化測試的過程來整體描述它的使用。
Robot Framework環境搭建步驟
Robot Framework是基於Python語言開發的一款框架,搭建步驟如下:
對於Robot Framework熟悉的老手嘗鮮新版 或 python熟悉的朋友看如下簡易安裝步驟即可(詳細截圖說明內容適合新入門朋友)
簡易安裝步驟:
- 安裝python3.7
- 在dos命令輸入 pip install robotframework 在線安裝robotframework
- 在dos命令輸入 pip install Pypubsub==3.3.0 在線安裝 Pypubsub
- 在dos命令輸入 pip install wxPython==4.0.3 在線安裝 wxPython
- 在dos命令輸入 pip install robotframework-ride 在線安裝robotframework-ride
- 在dos命令輸入 pip list 檢查是否安裝成功
- 在dos命令輸入 ride.py 檢查是否出現RIDE主界面,如不能出現,可去 python安裝路徑\scripts\ride.py 手動雙擊啟動
詳細安裝步驟:
- 安裝 python3.7
- 在線安裝 robotframework 在dos命令中輸入 pip install robotframework
- 在線安裝 Pypubsub 在dos命令中輸入 pip install Pypubsub==3.3.0
- 在線安裝 wxPython 在dos命令中輸入 pip install wxPython==4.0.3(截圖略,與上截圖類似)
- 在線安裝 robotframework-ride 在dos命令輸入 pip install robotframework-ride ,安裝過程中需要安裝依賴,過程較慢(截圖略,與上截圖類似)
- 在dos命令輸入 pip list ,檢查上述軟件是否安裝成功
- 在dos命令輸入 ride.py 命令打開RIDE主界面
常見問題
- 依賴相關問題
robotframework-ride 1.7.3.1 安裝所使用的Pypubsub版本要求的兼容版本為3.3.0,如果太新,安裝過程中會出現警告信息,但筆者實驗后發現出現警告也可以使用,但還是建議大家使用所要求的兼容版本。 - 偶發性的報錯
由於筆者是軟測培訓相關的講師,在教學過程中,學生安裝時出現過如下截圖的偶發性錯誤:
dos命令下錯誤信息:
C:\WINDOWS\system32>ride.py
Traceback (most recent call last):
File "d:\python\lib\site-packages\robotide\application\application.py", line 59, in OnInit
self._plugin_loader.enable_plugins()
File "d:\python\lib\site-packages\robotide\application\pluginloader.py", line 43, in enable_plugins
p.enable_on_startup()
File "d:\python\lib\site-packages\robotide\application\pluginconnector.py", line 52, in enable_on_startup
self.enable()
File "d:\python\lib\site-packages\robotide\application\pluginconnector.py", line 57, in enable
self._plugin.enable()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 162, in enable
self._build_ui()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 558, in _build_ui
self._build_notebook_tab()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 734, in _build_notebook_tab
self.out = self._create_output_textctrl()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 769, in _create_output_textctrl
font = self._create_font()
File "d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py", line 789, in _create_font
font=wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT)
wx._core.wxAssertionError: C++ assertion "wxFontEnumerator::IsValidFacename(font.GetFaceName())" failed at ....\src\msw\settings.cpp(301) in wxSystemSettingsNative::GetFont():
OnInit returned false, exiting...
Error in atexit._run_exitfuncs:
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed at ....\src\common\wincmn.cpp(478) in wxWindowBase::~wxWindowBase(): any pushed event handlers must have been removed
解決方案:
根據如上提示信息,找到 testrunnerplugin.py文件路徑,如上是
d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py
用pycharm等python代碼編輯工具打開該py文件,編輯789行:
把 font=wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT) 改為 font=wx.SystemSettings.GetFont(wx.SYS_ANSI_FIXED_FONT)
如果還不成功,則改為
font=wx.SystemSettings.GetFont(wx.SYS_SYSTEM_FONT) - 沒有權限報錯
在使用Text Edit區域編寫代碼完成,保存代碼的時候會出現如下圖報錯:
錯誤信息:
Error in serializing 'C:\robotframeworkcode\newdream':
[Errno 13] Permission denied: 'C:\robotframeworkcode\newdream.'
解決方案:
問題的主因是Robot Framework的RIDE沒有相關權限引起的。
強制關閉 Robot Framework 的RIDE界面后,找到 ride.py 文件的存放路徑(python安裝路徑\Scripts\ride.py),
Windows 7 操作系統,右擊 ride.py 文件 -- 選擇 管理員取得所有權 即可。
Windows 10操作系統,右擊 ride.py 文件 -- 選擇 授予訪問權限 -- 特定用戶 -- 選擇自己登錄Windows10的賬號共享即可。 - 離線安裝
離線安裝不會自動安裝依賴類庫,需要手動把相關依賴類庫下載才可進行安裝,筆者不推薦此安裝方式。
如果在沒有網絡的環境下,使用離線安裝環境,需要提前下載對應的類庫安裝文件,按如下順序下載安裝:
robotframework-3.1.1 、PyPubSub-3.3.0 、six-1.12.0、Pygments-2.3.1、robotframeworklexer-1.1、robotframework-ride-1.7.3.1
下載網站:https://pypi.org/
離線安裝python類庫步驟:
1)解壓下載的類庫軟件
2)在dos命令中進入解壓目錄,輸入 python setup.py install 安裝 - robotframework-excellibrary庫暫時不支持
該庫暫時不支持,沒有解決方案,有相關方案的朋友可以反饋下。
后記
在2019年之前,robotframework-ride的版本一直是1.5.2.1,是2016年1月份的版本,里面需要使用 wxPython2.8-win64-unicode-2.8.12.1-py27.exe,wxPython2.8只能安裝在python2.7的環境上,導致如果想同時使用robot framework做測試且又需要python3環境編寫python代碼的小伙伴都需要在操作系統上安裝兩個python環境(2.7和3.7)。
2019年,robotframework-ride迎來的這次更新算是解決了此問題,從此只需要安裝python3.6以上的python環境即可。
參考文獻
robotframework 官方文檔 : https://pypi.org/project/robotframework/#installation