今天小編就爲大家分享一篇關於基於Python在MacOS上安裝robotframework-ride,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
Robotframework是一個框架,是一個可以用於關鍵字測試驅動的框架。而RIDE(robotframework-ride)就是可以使得寫robot測試用例更加方便快捷的IDE圖形操作工具。
安裝
因爲是基於python的,所以其可以運行在多個操作系統上。這裏主要介紹一下RIDE在MacOS上的使用方式。
OS版本
MacOS版本:10.13.2
wxpython
由於RIDE是基於wxpython的應用,所以首先需要保證wxpython已經得到了安裝。安裝命令如下:
安裝命令:brew install wxpython
安裝日誌
liumiaocn:~ liumiao$ brew install wxpython ==> Installing dependencies for wxpython: gdbm, readline, sqlite, python@2, jpeg, libpng, libtiff, wxmac ==> Installing wxpython dependency: gdbm ==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.15.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring gdbm-1.15.high_sierra.bottle.tar.gz ? /usr/local/Cellar/gdbm/1.15: 19 files, 569.8KB ==> Installing wxpython dependency: readline ==> Downloading https://homebrew.bintray.com/bottles/readline-7.0.3_1.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring readline-7.0.3_1.high_sierra.bottle.tar.gz ==> Caveats This formula is keg-only, which means it was not symlinked into /usr/local, because macOS provides the BSD libedit library, which shadows libreadline. In order to prevent conflicts when programs look for libreadline we are defaulting this GNU Readline installation to keg-only. For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/readline/lib CPPFLAGS: -I/usr/local/opt/readline/include ==> Summary ? /usr/local/Cellar/readline/7.0.3_1: 46 files, 1.5MB ==> Installing wxpython dependency: sqlite ==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.24.0.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring sqlite-3.24.0.high_sierra.bottle.tar.gz ==> Caveats This formula is keg-only, which means it was not symlinked into /usr/local, because macOS provides an older sqlite3. If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile For compilers to find this software you may need to set: LDFLAGS: -L/usr/local/opt/sqlite/lib CPPFLAGS: -I/usr/local/opt/sqlite/include For pkg-config to find this software you may need to set: PKG_CONFIG_PATH: /usr/local/opt/sqlite/lib/pkgconfig ==> Summary ? /usr/local/Cellar/sqlite/3.24.0: 11 files, 3.5MB ==> Installing wxpython dependency: python@2 ==> Downloading https://homebrew.bintray.com/bottles/[email protected]_1.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring [email protected]_1.high_sierra.bottle.tar.gz ==> /usr/local/Cellar/python@2/2.7.15_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana ==> /usr/local/Cellar/python@2/2.7.15_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana ==> /usr/local/Cellar/python@2/2.7.15_1/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-mana ==> Caveats Pip and setuptools have been installed. To update them pip install --upgrade pip setuptools You can install Python packages with pip install <package> They will install into the site-package directory /usr/local/lib/python2.7/site-packages See: https://docs.brew.sh/Homebrew-and-Python ==> Summary ? /usr/local/Cellar/python@2/2.7.15_1: 4,673 files, 82.8MB ==> Installing wxpython dependency: jpeg ==> Downloading https://homebrew.bintray.com/bottles/jpeg-9c.high_sierra.bottle.tar.gz curl: (6) Could not resolve host: akamai.bintray.com Error: Failed to download resource "jpeg" Download failed: https://homebrew.bintray.com/bottles/jpeg-9c.high_sierra.bottle.tar.gz Warning: Bottle installation failed: building from source. ==> Downloading http://www.ijg.org/files/jpegsrc.v9c.tar.gz ######################################################################## 100.0% ==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/jpeg/9c ==> make install ? /usr/local/Cellar/jpeg/9c: 21 files, 749.8KB, built in 33 seconds ==> Installing wxpython dependency: libpng ==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.34.high_sierra.bottle.tar.gz curl: (6) Could not resolve host: akamai.bintray.com Error: Failed to download resource "libpng" Download failed: https://homebrew.bintray.com/bottles/libpng-1.6.34.high_sierra.bottle.tar.gz Warning: Bottle installation failed: building from source. ==> Downloading https://downloads.sourceforge.net/libpng/libpng-1.6.34.tar.xz ==> Downloading from https://downloads.sourceforge.net/project/libpng/libpng16/1.6.34/libpng-1.6.34.tar.xz ######################################################################## 100.0% ==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/libpng/1.6.34 ==> make ==> make test ==> make install ? /usr/local/Cellar/libpng/1.6.34: 26 files, 1.2MB, built in 1 minute 38 seconds ==> Installing wxpython dependency: libtiff ==> Downloading https://homebrew.bintray.com/bottles/libtiff-4.0.9_3.high_sierra.bottle.tar.gz curl: (6) Could not resolve host: akamai.bintray.com Error: Failed to download resource "libtiff" Download failed: https://homebrew.bintray.com/bottles/libtiff-4.0.9_3.high_sierra.bottle.tar.gz Warning: Bottle installation failed: building from source. ==> Downloading https://download.osgeo.org/libtiff/tiff-4.0.9.tar.gz curl: (28) Resolving timed out after 5551 milliseconds Trying a mirror... ==> Downloading https://fossies.org/linux/misc/tiff-4.0.9.tar.gz ######################### 34.8% ######################################################################## 100.0% ==> Downloading https://mirrors.ocf.berkeley.edu/debian/pool/main/t/tiff/tiff_4.0.9-5.debian.tar.xz ######################################################################## 100.0% ==> Patching ==> Applying patches/CVE-2017-9935.patch patching file libtiff/tif_dir.c patching file tools/tiff2pdf.c ==> Applying patches/CVE-2017-18013.patch patching file libtiff/tif_print.c ==> Applying patches/CVE-2018-5784.patch patching file contrib/addtiffo/tif_overview.c patching file tools/tiff2pdf.c patching file tools/tiffcrop.c ==> Applying patches/CVE-2017-11613_part1.patch patching file libtiff/tif_dirread.c ==> Applying patches/CVE-2017-11613_part2.patch patching file libtiff/tif_dirread.c ==> Applying patches/CVE-2018-7456.patch patching file libtiff/tif_dirread.c patching file libtiff/tif_print.c ==> Applying patches/CVE-2017-17095.patch patching file tools/pal2rgb.c ==> ./configure --prefix=/usr/local/Cellar/libtiff/4.0.9_3 --without-x --with-jpeg-include-dir=/usr/local/opt/jpeg/include --with-jpeg- ==> make install ? /usr/local/Cellar/libtiff/4.0.9_3: 246 files, 3.5MB, built in 5 minutes 10 seconds ==> Installing wxpython dependency: wxmac ==> Downloading https://homebrew.bintray.com/bottles/wxmac-3.0.4.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring wxmac-3.0.4.high_sierra.bottle.tar.gz ? /usr/local/Cellar/wxmac/3.0.4: 810 files, 23.7MB ==> Installing wxpython ==> Downloading https://homebrew.bintray.com/bottles/wxpython-3.0.2.0_1.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring wxpython-3.0.2.0_1.high_sierra.bottle.tar.gz ? /usr/local/Cellar/wxpython/3.0.2.0_1: 1,108 files, 37.9MB liumiaocn:~ liumiao$
版本確認
liumiaocn:~ liumiao$ brew info wxpython wxpython: stable 3.0.2.0 (bottled) Python bindings for wxWidgets https://www.wxwidgets.org/ /usr/local/Cellar/wxpython/3.0.2.0_1 (1,115 files, 39.9MB) * Poured from bottle on 2018-06-19 at 15:52:25 From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/wxpython.rb ==> Dependencies Required: python@2 ✔, wxmac ✔ liumiaocn:~ liumiao$
暫定對應1:wxpython安裝之後,目前的版本還缺少一個軟連接才能正常動作,根據日誌可以看到此次安裝的wxpython版本爲wxpython-3.0.2.0_1, 按照如下操作創建軟連接即可
創建鏈接
liumiaocn:bin liumiao$ pwd /usr/local/bin liumiaocn:bin liumiao$ ls wx ls: wx: No such file or directory liumiaocn:bin liumiao$ ln -s ../Cellar/wxpython/3.0.2.0_1/lib/python2.7/site-packages/wx-3.0-osx_cocoa/wx wx liumiaocn:bin liumiao$
確認方式
liumiaocn:~ liumiao$ python -c "import wx; print wx.VERSION" /usr/local/lib/python2.7/site-packages/wx-3.0-osx_cocoa/wx/_core.py:16633: UserWarning: wxPython/wxWidgets release number mismatch warnings.warn("wxPython/wxWidgets release number mismatch") (3, 0, 2, 0, '') liumiaocn:~ liumiao$
雖然仍然提示warning信息,但是已經能夠正常繼續動作了。
安裝robotframework-ride
使用pip安裝robotframework-ride, 安裝命令如下
安裝命令:pip install robotframework-ride
啓動確認
通過ride.py啓動RIDE,當前版本出現瞭如下錯誤信息
liumiaocn:bin liumiao$ ride.py Wrong wxPython version. You need to install wxPython 2.8.12.1 with unicode support to run RIDE. wxPython 2.8.12.1 can be downloaded from http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/ liumiaocn:bin liumiao$
原因確認:經過定位代碼中錯誤出現的位置,確認到如下文件:
liumiaocn:local liumiao$ find . -name '*.py' |xargs grep 'You need to install wxPython' ./lib/python2.7/site-packages/robotide/__init__.py:You need to install wxPython 2.8.12.1 with unicode support to run RIDE. liumiaocn:local liumiao$ view ./lib/python2.7/site-packages/robotide/__init__.py liumiaocn:local liumiao$ grep supported_versions ./lib/python2.7/site-packages/robotide/__init__.py supported_versions = ["2.8"] supported_versions.append("2.9") wxversion.select(supported_versions) liumiaocn:local liumiao$
對應方法1:直接將支持的版本號修改爲當前的版本
liumiaocn:~ liumiao$ diff /usr/local/lib/python2.7/site-packages/robotide/__init__.py /usr/local/lib/python2.7/site-packages/robotide/__init__.py.org 37,38c37 < #supported_versions = ["2.8"] < supported_versions = ["3.0.2.0"] --- > supported_versions = ["2.8"] liumiaocn:~ liumiao$
對應方法2:添加supported_versions
liumiaocn:~ liumiao$ diff /usr/local/lib/python2.7/site-packages/robotide/__init__.py /usr/local/lib/python2.7/site-packages/robotide/__init__.py.org 44d43 < supported_versions.append("3.0.2.0") liumiaocn:~ liumiao$
實際上在如下行添加了對當前版本的支持
try: import wxversion from wxversion import VersionError if sys.platform == 'darwin': supported_versions.append("2.9") supported_versions.append("3.0.2.0") wxversion.select(supported_versions) import wx
安裝robotframework
使用pip install robotramework進行robotframework的安裝
liumiaocn:~ liumiao$ pip install robotframework Collecting robotframework Downloading https://files.pythonhosted.org/packages/95/b1/4faa12e1950b9fbd00060c112fa6f828c4f3998e9b2f8c570c22db10bc88/robotframework-3.0.4.tar.gz (443kB) 100% |████████████████████████████████| 450kB 34kB/s Building wheels for collected packages: robotframework Running setup.py bdist_wheel for robotframework ... done Stored in directory: /Users/liumiao/Library/Caches/pip/wheels/8a/01/4a/fd9aef57cca0087d0bd5ceba5db39247ef375fdc4df5ebfb59 Successfully built robotframework Installing collected packages: robotframework Successfully installed robotframework-3.0.4 liumiaocn:~ liumiao$
啓動RIDE
在命令行輸入ride.py並回車,便可啓動RIDE
安裝pygments
Text Edit的tab提示需要安裝高亮顯示用的包pygments
使用pip install pygments進行安裝
liumiaocn:~ liumiao$ pip install pygments Collecting pygments Downloading https://files.pythonhosted.org/packages/02/ee/b6e02dc6529e82b75bb06823ff7d005b141037cb1416b10c6f00fc419dca/Pygments-2.2.0-py2.py3-none-any.whl (841kB) 100% |████████████████████████████████| 849kB 1.9MB/s Installing collected packages: pygments Successfully installed pygments-2.2.0 liumiaocn:~ liumiao$
再次啓動ride.py,已經可以正常動作了。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對神馬文庫的支持。如果你想了解更多相關內容請查看下面相關鏈接