引言:什么是RFS——RobotFramework+selenium2library,本系列主要介绍web自动化验收测试方面。
好久没写东西了,最近没怎么弄QTP了,之前一直想找一个能方便管理QTP对象的东东,FrameworkManage用excel管理虽然是方便了一些,但是还是感觉很麻烦。
最近刚刚接触到RobotFramework,发现这个工具倒是可以满足我的要求,而且可以结合seleniumLibrary,用来做web的自动化测试相当不错。之前我也接触过selenium,不过感觉那个工具更贴近开发人员使用,有了robotFramework之后,感觉这个工具相当强大,而且是贴近测试人员的。之所以说强大,主要是这些测试脚本都可以用文本格式保存(如txt/html等)
==安装篇==
如果有想学的朋友可以自己下载以下文件安装(Google-code里可以找到大部分的安装文件):
python-2.7.1.msi(首先要有python,请选择将Python加入Path)
wxPython2.8-win32-unicode-2.8.11.0-py27.exe(wxPython,必须要的)
robotframework-2.6.0.win32.exe(然后装robot的Framework)
robotframework-ride-0.38.1.win32.exe(robotFramework的IDE,很不错)
robotframework-seleniumlibrary-2.8.win32.exe(seleniumLibrary)
安装成功后
执行[PythonDir]\Scripts\ride.py
看到界面就是安装成功了。
如果需要AutoIt支持就下载下面2个东东。
AutoItLibrary-1.1
pywin32-216.win32-py2.7.exe
==入门篇==
安装完成了,这个框架可以说是基于keyword的操作,按F5可以看到所有加载的keyword。
首先新增一个project
然后新增suite
然后新增test case,接着在suite层级add library,把selenium library加进来,添加后按F5检验是否添加成功,如图
OK,继续在suite的setting里设置suite启动和结束的keyword,即Start Selenium Server和Stop Selenium Server,他会在运行时帮助我们自动启动seleniumserver。
接下来在test case里添加一个步骤,open browser(一般用selenium做web测试都要用这个方法来打开浏览器),添加后关键字变成蓝色表示找到关键字了,否则可能是拼写错误或者没有加载相应的library。红色表示有一个必选参数要给定输入值,具体参数可以看F5里的keyword说明。
输入参数,第二个参数默认是firefox,不过我没装,就用ie吧。
OK了,全部保存一下,然后按工具栏倒数第二个的机器人图标运行test case
额,我的运行失败了,
Timed out after 5000.0ms
原来网页加载时间太长了,selenium会一直等页面加载完成,可以修改一下默认等待时间,记得suite那里添加library么,当时添加的时候没写其他的就写了名字,下一个参数就是默认超时的时间,改个长点的,保存后执行,运行成功。
以上只是一个简单的例子,没有详细说明每个步骤的操作,只是初步介绍。后续再详细介绍。
有了这个RIDE后你可以很方便的管理你的对象和脚本,进而可以自己对测试案例分层,数据和脚本分离、流程分离等等。如果有兴趣可以自己写library,本人正在研究中,可惜RIDE对中文注释不支持,自己写的library的中文注释被转换成了\xd5\xe2之类的了。
以后再为大家介绍进阶操作。