说实话,在我玩了这么多自动化工具后,感觉Robot Framework所需的环境和安装过程是相对比较繁琐和复杂的。要真正搭建一套可以使用的Robot Framework开发运行环境,需要以下:
- Python 2.7 (最新版Python3.6为什么不可以?—后面我会讲)
- pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含)
- Robot Framework (此工具本身)
- wxPython (Python 非常有名的一个GUI 库,支撑Ride的运行库)
- robotframework-ride (Robot Framework 测试数据的编辑器,它使测试用例的创建、运行、测试项目的组织可以在图形界面下完成)
- selenium2library (selenium2测试库,基于webdriver驱动)
- geckodriver, chromedriver 和 IEDriverServer (浏览器驱动,据说45以上的版本Firefox驱动也不再是默认包含)
- AutoItLibrary (autoit库包,用于进行Windows GUI的自动化操作)
- pywin32 (AutoIt的运行环境)
- autoit (autoit客户端程序,实际运用中,必须装了autoit才能用AutoItLibrary )
看了上面列的10个东西,是不是有被吓到?没关系我们一步一步来,兵来将挡水来土掩~
由于Robot Framework 框架是基于Python 语言开发的,要想使用Robot Framework 首先需要有Python环境。由于历史原因,目前Python分为Python2 和Python3 两个版本,但为什么我前面列表里有提到必须安装Python2呢?现在揭晓谜底:因为wxPython官方只支持Python 2。
直接在官网下载安装包.msi文件进行安装:
https://www.python.org/downloads/windows/
一般安装过程中有一个选项让你添加环境变量,如果没有,请将C:\Python27和C:\Python27\Scripts添加到系统环境变量Path后面。
pip 是一个安装和管理Python 包的工具,通过pip 去安装Python 包将变得十分简单,我们将省去了搜索–查找版本–下载–安装等繁琐的过程。pip 的安装依赖于setuptools ,所以在安装pip 之间需要先安装setuptools。
基本上你安装了上一步中的最新版python27,就会自带pip和setuptools,只需要记得请将C:\Python27\Scripts添加到系统环境变量Path后面。
如果没有,请移步setuptools 与pip 下载地址:
https://pypi.python.org/pypi/setuptools
https://pypi.python.org/pypi/pip
有了pip,Robot Framework的安装很简单:
pip install robotframwork
或者,先下载后安装:
https://pypi.python.org/pypi/robotframework
解压后,cd到解压后的安装目录,使用命令安装:
python setup.py install
robotframework-ride是一个图形编辑器,让你的使用更方便。
和上面的Robot Framework安装一样:
从网站下载库包,后解压,用命令安装:
https://pypi.python.org/pypi/robotframework-ride
python setup.py install
前面说了robotframework-ride是基于wxPython的,必须先安装wxPython,那我为什么要先装robotframework-ride呢,因为robotframework-ride对于版本的要求很高,必须一一对应,你去下载最新版的wxPython,再来装最新版的robotframework-ride,然后运行会发现失败,提示类似:
Python 2.7.8 (default, Jun 30 2014, 16:08:48) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from robotide import main
wxPython not found.
You need to install wxPython 2.8 toolkit 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/
所以你先安装robotframework-ride,然后输入命令
python
from robotide import main
这样就可以根据错误提示,找到你当前安装的robotframework-ride需要哪个版本的wxPython,拿到link,再去下载。
上一步我们拿到了对于版本的wxPython下载地址,如:
http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
找到自己系统和python版本所对应的安装包,如 ”wxPython2.8-win64-unicode-2.8.12.1-py27.exe“ 下载后安装即可。
严格地讲,一套Robot Framework的环境以上步骤算是可以正常运行和使用了,接下去只是要下载最常用的库包进行支持(Selenium2Library是进行web自动化,AutoIt是进行Windows下GUI的自动化)
好,既然可以用了,我们就先看看这个图形界面Ride长什么样。这时候,你会发现robotframework-ride安装是通过python命令装的,桌面上根本没有这个软件图标,我怎么启动它呢?
你可以去目录C:\Python27\Scripts下找,回发现有一个【ride.py】文件,在命令行下输入以下命令就能打开了:
python ride.py
我们可以自制一个启动图标到桌面,新建一个ride-run.bat文件,输入:
python -c "from robotide import main; main()"
下次就可以在桌面双击这个bat文件进行启动了,就是这么easy~
具体的脚本开发不是这章所要讨论的,如上图,如果要像Selenium 一样启动浏览器进行web自动化测试的话,built-in的库包是不够的,需要下载扩展包:Selenium2Library
方法1:用pip安装:
pip install robotframework-selenium2library
方法2:先下载后安装:
https://pypi.python.org/pypi/robotframework-selenium2library
解压后,cd到解压后的安装目录,使用命令安装:
python setup.py install
安装后,可以在一个test suite内点击【Library】,然后输入Selenium2Library进行导入,如果导入后,Selenium2Library显示的是红色字体,说明没有成功,有问题。如果是黑色默认字体,说明成功了,可以按F5进行查看:
要启动相应的浏览器必须要有它的驱动器,可以到Selenium官网下载所以相关的Driver:
http://www.seleniumhq.org/download/
可以Selenium官网访问不了,直接贴:
Mozilla GeckoDriver(Firefox)
https://github.com/mozilla/geckodriver/releases
Google Chrome Driver
https://sites.google.com/a/chromium.org/chromedriver/
https://chromedriver.storage.googleapis.com/index.html?path=2.28/
Microsoft Edge Driver(IE)
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
请注意,下载后将这3个驱动(exe文件)放在C:\Python27目录下
pywin32是autoit的运行环境,安装autoit前必须安装pywin32,下载后默认安装即可。
更加相应版本下载最新pywin32 版本:
https://sourceforge.net/projects/pywin32/files/pywin32/
例如:pywin32-220.win-amd64-py2.7.exe
AutoIt没有64位的版本,直接下载并安装AutoIt Full Installation可执行文件。
https://www.autoitscript.com/site/autoit/downloads/
特别注意:虽然autoit没有64位的版本,但在安装时请一定要选择64位安装模式(安装过程中会提示)
去google code下载:
https://code.google.com/archive/p/robotframework-autoitlibrary/downloads
安装房叔和上面的一样,解压后,命令安装:
python setup.py install
特别注意:虽然命令一样,但特别注意这里,应该用管理员身份打开命令提示符:右击开始菜单——单击命令提示符(管理员)——在cmd窗口中输入“python setup.py install”才能安装成功,否则会报错。
最后打开RobotFramework Ride进行导入,输入:AutoItLibrary(大小写必须一致),过程参照Selenium2Library图片示意。
如果,碰到导入后出现红色字体(即出错),请尝试:
如下操作:
用管理员权限运行cmd(!!一定要用管理员权限运行)
cd C:\Python27\Lib\site-packages\AutoItLibrary\lib
regsvr32 /u AutoItX3.dll
regsvr32 /s AutoItX3.dll,
/u表示注销注册,如果成功,会弹窗提示反注册成功的
/s表示注册,这里不会有任何提示,应该表示注册成功
至此,Robot Framework的环境终于搭建完成,如果需要额外其他的扩展包支持,请参考Selenium2Library的方式下载并按照相应包,例如常用的有:
FtpLibrary: https://github.com/kowalpy/Robot-Framework-FTP-Library
pip install robotframework-ftplibrary
Robotframework-Database-Library(python):
https://github.com/franz-see/Robotframework-Database-Library
pip install robotframework-databaselibrary
其他的扩展库包可以在这里下:
http://robotframework.org/#libraries