#前言
? ? ? Robot Framework作為公司能快速落地實(shí)現(xiàn)UI自動(dòng)化測(cè)試的一款框架,同時(shí)也非常適合剛?cè)腴T(mén)自動(dòng)化測(cè)試的朋友們?nèi)タ焖賹W(xué)習(xí)自動(dòng)化,筆者計(jì)劃通過(guò)從搭建逐步到完成自動(dòng)化測(cè)試的過(guò)程來(lái)整體描述它的使用。
#Robot Framework環(huán)境搭建步驟
Robot Framework是基于Python語(yǔ)言開(kāi)發(fā)的一款框架,搭建步驟如下:
? ? ? 對(duì)于Robot Framework熟悉的老手嘗鮮新版 或 python熟悉的朋友看如下簡(jiǎn)易安裝步驟即可(詳細(xì)截圖說(shuō)明內(nèi)容適合新入門(mén)朋友)
簡(jiǎn)易安裝步驟:
1. 安裝python3.7
2. 在dos命令輸入? pip install robotframework? ? ? ? 在線(xiàn)安裝robotframework
3. 在dos命令輸入? pip install Pypubsub==3.3.0? ? ? 在線(xiàn)安裝 Pypubsub
4. 在dos命令輸入? pip install wxPython==4.0.3? ? ? 在線(xiàn)安裝 wxPython
5. 在dos命令輸入? pip install robotframework-ride 在線(xiàn)安裝robotframework-ride
6. 在dos命令輸入? pip list? 檢查是否安裝成功
7. 在dos命令輸入? ride.py? 檢查是否出現(xiàn)RIDE主界面,如不能出現(xiàn),可去 python安裝路徑\scripts\ride.py 手動(dòng)雙擊啟動(dòng)
詳細(xì)安裝步驟:
1. 安裝 python3.7
2. 在線(xiàn)安裝 robotframework 在dos命令中輸入 pip install robotframework

3. 在線(xiàn)安裝 Pypubsub 在dos命令中輸入 pip install Pypubsub==3.3.0

4. 在線(xiàn)安裝 wxPython 在dos命令中輸入 pip install wxPython==4.0.3(截圖略,與上截圖類(lèi)似)
5. 在線(xiàn)安裝 robotframework-ride 在dos命令輸入? pip install robotframework-ride ,安裝過(guò)程中需要安裝依賴(lài),過(guò)程較慢(截圖略,與上截圖類(lèi)似)
6. 在dos命令輸入? pip list ,檢查上述軟件是否安裝成功

7. 在dos命令輸入 ride.py 命令打開(kāi)RIDE主界面

#常見(jiàn)問(wèn)題
1. 依賴(lài)相關(guān)問(wèn)題
? ? robotframework-ride 1.7.3.1 安裝所使用的Pypubsub版本要求的兼容版本為3.3.0,如果太新,安裝過(guò)程中會(huì)出現(xiàn)警告信息,但筆者實(shí)驗(yàn)后發(fā)現(xiàn)出現(xiàn)警告也可以使用,但還是建議大家使用所要求的兼容版本。? ?
2. 偶發(fā)性的報(bào)錯(cuò)
? ? 由于筆者是軟測(cè)培訓(xùn)相關(guān)的講師,在教學(xué)過(guò)程中,學(xué)生安裝時(shí)出現(xiàn)過(guò)如下截圖的偶發(fā)性錯(cuò)誤:

dos命令下錯(cuò)誤信息:
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
解決方案:
根據(jù)如上提示信息,找到 testrunnerplugin.py文件路徑,如上是
d:\python\lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py
用pycharm等python代碼編輯工具打開(kāi)該py文件,編輯789行:
把 font=wx.SystemSettings.GetFont(wx.SYS_ANSI_VAR_FONT) 改為 font=wx.SystemSettings.GetFont(wx.ANSI_FIXED_FONT)
3. 沒(méi)有權(quán)限報(bào)錯(cuò)
在使用Text Edit區(qū)域編寫(xiě)代碼完成,保存代碼的時(shí)候會(huì)出現(xiàn)如下圖報(bào)錯(cuò):

錯(cuò)誤信息:
Error in serializing 'C:\robotframeworkcode\newdream':
[Errno 13] Permission denied: 'C:\\robotframeworkcode\\newdream.'
解決方案:
問(wèn)題的主因是Robot Framework的RIDE沒(méi)有相關(guān)權(quán)限引起的。
強(qiáng)制關(guān)閉 Robot Framework 的RIDE界面后,找到 ride.py 文件的存放路徑(python安裝路徑\Scripts\ride.py),
Windows 7 操作系統(tǒng),右擊 ride.py 文件 -- 選擇 管理員取得所有權(quán) 即可。
Windows 10操作系統(tǒng),右擊 ride.py 文件 -- 選擇 共享 -- 特定用戶(hù) -- 選擇自己登錄Windows10的賬號(hào)共享即可。
4. 離線(xiàn)安裝
離線(xiàn)安裝不會(huì)自動(dòng)安裝依賴(lài)類(lèi)庫(kù),需要手動(dòng)把相關(guān)依賴(lài)類(lèi)庫(kù)下載才可進(jìn)行安裝,筆者不推薦此安裝方式。
如果在沒(méi)有網(wǎng)絡(luò)的環(huán)境下,使用離線(xiàn)安裝環(huán)境,需要提前下載對(duì)應(yīng)的類(lèi)庫(kù)安裝文件,按如下順序下載安裝:
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
下載網(wǎng)站:https://pypi.org/
離線(xiàn)安裝python類(lèi)庫(kù)步驟:
1)解壓下載的類(lèi)庫(kù)軟件
2)在dos命令中進(jìn)入解壓目錄,輸入 python setup.py install 安裝
#后記
? ? ? 在2019年之前,robotframework-ride的版本一直是1.5.2.1,是2016年1月份的版本,里面需要使用 wxPython2.8-win64-unicode-2.8.12.1-py27.exe,wxPython2.8只能安裝在python2.7的環(huán)境上,導(dǎo)致如果想同時(shí)使用robot framework做測(cè)試且又需要python3環(huán)境編寫(xiě)python代碼的小伙伴都需要在操作系統(tǒng)上安裝兩個(gè)python環(huán)境(2.7和3.7)。
? ? ? 2019年,robotframework-ride迎來(lái)的這次更新算是解決了此問(wèn)題,從此只需要安裝python3.6以上的python環(huán)境即可。
參考文獻(xiàn)
robotframework 官方文檔 : https://pypi.org/project/robotframework/#installation
本次的分享到這里就結(jié)束了!覺(jué)得文章對(duì)你有用可以點(diǎn)個(gè)贊哦!歡迎大家一起交流學(xué)習(xí)測(cè)試技術(shù)!
作者:藍(lán)寅? ??
版權(quán)所有,歡迎保留原文鏈接進(jìn)行轉(zhuǎn)載:)