首先,robotframework必須在python的環境下運行
所以你的電腦里必須有python3.x的環境先。
上古時期的robotframework只支持python2,不過python2都已經停止更新和維護了,它也只能放下身段也支持python3了,它的前世今生就不在此過多贅述了。
接下來就是安裝相關的庫了。
通過pip命令直接安裝。
pip install robotframework
pip install Pypubsub==3.3.0
pip install wxPython==4.0.3
pip install robotframework-ride
最后通過pip list命令來查看已安裝的庫。
ps:如果pip命令安裝過慢或直接就安裝失敗,可以使用國內鏡像安裝,參考:https://zhuanlan.zhihu.com/p/61696526
最后一步就是輸入命令ride.py,打開RIDE界面了。
但是我在這一步遇到了報錯,具體如下:
<class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 0. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 3. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 4. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 5. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 6. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 7. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 19. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 20. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 21. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 22. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 25. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 26. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 27. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 28. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 29. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 30. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 31. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 32. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 33. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 34. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 35. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 36. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 37. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 38. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 39. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 40. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 43. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 44. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 45. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 46. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 47. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 48. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 49. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 50. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 51. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 52. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 53. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 54. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 55. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 56. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 57. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 58. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 59. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 60. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 61. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 62. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 63. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 67. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 68. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 69. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 70. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 71. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 13. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 14. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 0. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 3. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 4. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 5. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 6. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 7. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 19. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 20. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 21. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 22. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 25. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 26. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 27. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 28. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 29. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 30. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 31. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 32. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 33. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 34. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 35. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 36. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 37. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 38. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 39. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 40. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 43. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 44. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 45. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 46. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 47. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 48. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 49. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 50. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 51. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 52. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 53. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 54. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 55. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 56. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 57. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 58. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 59. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 60. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 61. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 62. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 63. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 67. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 68. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 69. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 70. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 71. <class 'robotide.preferences.configobj.UnreprError'> Parse error in value at line 13. Traceback (most recent call last): File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\application\application.py", line 58, in OnInit self.frame = RideFrame(self, self._controller) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\mainframe.py", line 175, in __init__ self._init_ui() File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\mainframe.py", line 279, in _init_ui self.tree = Tree(self, self.actions, File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\tree.py", line 86, in __init__ self._images = TreeImageList() File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\images.py", line 42, in __init__ TestCaseController: _TreeImage(self, 'robot.png'), File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\images.py", line 80, in __init__ self.normal = self._get_image(image_list, normal) File "c:\users\administrator\appdata\local\programs\python\python38\lib\site-packages\robotide\ui\images.py", line 91, in _get_image img = wx.Image(path, wx.BITMAP_TYPE_PNG).ConvertToBitmap() wx._core.wxAssertionError: C++ assertion "strcmp(setlocale(LC_ALL, NULL), "C") == 0" failed at ..\..\src\common\intl.cpp(1579) in wxLocale::GetInfo(): You probably called setlocale() directly instead of using wxLocale and now there is a mismatch between C/C++ and Windows locale. Things are going to break, please only change locale by creating wxLocale objects to avoid this! 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
解決辦法。
我在GitHub上找到如下一句話:
而我的版本正好就是這樣(python3.8,ride1.7.4.2):
emmmm…
github上對我這種情況提供了短暫的解決辦法:
執行此條命令:
ride發生變化:
這樣再輸入命令ride.py就可以打開RIDE界面啦
ps:我的這種情況發生在python3.8,ride1.7.4.2的情況下。ride的下一版本為2.0,可以適配python3.8,到時就不會出現我這個問題了。
另外如果出現其他問題可以參考博客:https://www.cnblogs.com/dream66/p/10647166.html
或者:https://blog.csdn.net/horseTom/article/details/90176659
當然,我最推薦的還是GitHub:https://github.com/robotframework/RIDE