关于在Mac中搭建RF的那些坑

在Mac中搭建robotframework想必大家或多或少碰见过各种问题,本文主要介绍下自己在中间碰到的一些问题和解决方法。

聊聊背景:

关于robotframework:它呢是用python写的一款自动化测试框架,可以用来做各种各样的自动化,包括api、app、pc。只要用对应的库来实现调用即可,下面是官网的介绍,大家也可以简单了解下。

来自robot官网的介绍:

Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It has easy-to-use tabular test data syntax and it utilizes the keyword-driven testing approach. Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new higher-level keywords from existing ones using the same syntax that is used for creating test cases.

关于环境安装:

这部分就是坑最多的地方,首先看一下下面这张图

关于在Mac中搭建RF的那些坑

上面的图简单描述了我们需要装的工具,以及依赖关系,我们用robotframework,必须要装python的环境,一般情况下mac自带了。其次我们需要装pip,因为未来所有robot里面的库(你去做自动化需要的库),我们用pip的命令安装会非常方便。最后我们还需要安装wxpython,这个东西是干嘛的?简单点来说,它是python的扩展,用GUI需要用到它,而且作为robot里面很重要的IDE-ride,它是基于wxpython开发的,所以我们需要安装。

OK,说了这么多,那究竟坑在哪呢?重要内容来了:

1. 关于python

 由于现在的mac自带python2.x的环境,所以可以直接使用,避免自己安装python的环境,也不要用python3.x的环境。如果你自己安装了一套python环境,不用系统的,未来的环境配置会比较麻烦,建议初学者尽量避免,要不然苦头很大。

2. 关于pip

如果上面的python环境没问题,这里大概率不太会出问题。简单说一下可能出问题的地方:要关注你用的pip命令调用的是哪个python,如果是上面mac自带python2.x的pip,那么就不会出问题。如果你pip是python3.x或者是其他你自己装的python下的,那么未来装的库的地址会不对,你未来在IDE中引用这些库会失败。

3. 关于wxpython和python

首先这两者一定要联系起来,一般情况下安装好了wxpython会/Library/Python/2.7/site-packages这个目录下有wxredirect.pth这个文件把两者联系起来,如果没有需要手动操作,要不然系统会认为你没有装wxpython。

4.关于wxpython安装

不要用brew安装,因为安装的版本太高,没法使用。我们需要手动安装低版本:

【1】http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/下载

关于在Mac中搭建RF的那些坑

【2】下载后双击解压

【3】点击安装包,右键选择:显示包内容,打开Contents/Resources/

关于在Mac中搭建RF的那些坑

【4】双击解压上面红色部分,然后将下面usr 2/local的lib文件复制到系统usr/local中

关于在Mac中搭建RF的那些坑

【5】将第三步中的postflight复制到桌面,cd到post flight所在的目录,运行命令sudo ./postflight

5. 关于ride

 直接使用pip安装(pip install robotframework_ride),然后启动时如果提示python should be executed in 32-bit mode with wxPython on OSX,那么执行下命令:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes