windows系統搭建Robot Framework
阿新 • • 發佈:2020-06-06
https://www.cnblogs.com/dream66/p/10647166.html
前言
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