一、解惑:Robot Framewprk
今天我们聊一聊,Robot Framework被众多测试工程师误会多年的秘密。今天我们一起来揭秘一下,最近经常在各大群里听到许多同行,在拿Robot Framework与Pytest或其它同类测试框架作对比,我认为这个对比本质上是没有任何意义的,青菜萝卜、各有所爱,一百个心中有一百个哈姆雷特,只有找到适合自己的,并能用较低成本就能解决当前团队面临的问题,这才是关键所在。
至于框架之间的对比,笔者主张的观点:“存在即合理,每个框架既然它存在,必然在它存在的意义和价值,当然也有他们各自的优点以及劣势,当前市面上也并没有一款框架能做到十全十美,满足所有人的需求,只有明确自己的问题,找准靶心,以解决问题驱动才是王道!”
回归到今天的主题,大部分人在一开始用Robot Framework都存在一个误解,认为Robot Framework只支持Python 2,其实这是对Robot Framework兼容性存在的一个较大误区。Robot Framework其实很早就已经支持Python 3了。
之所以市面上一直有这样的误区,是因为Robot Framework对应的官方编辑器RIDE由于一些历史原因,只支持到了Python 2.7,那么也就导致如果你在使用Robot Framework时,如果是用RIDE来管理RF测试用例,那么之前的版本确实是只能用Python 2.x版本。但如果你并不是采用RIDE 而是用其它编辑器或插件比如Pycharm或VS Code,或者直接命令行的形式来运行RF测试用例,那么即使用Python 3也是可以的。
值得庆幸的是,在2019年1月20号,Robot Framework RIDE发布了1.7.3版本解决了此前RIDE一直无法兼容Python 3的问题。也就意味着Robot Framework不管是采用何种编辑器,都已经是可以支持Python 3了。
二、在Robot Framework IDE 1.7.4+版本中,新功能:
兼容Python 2.7 and >=3.6。
运行任何wxPython版本(2.8.12.1、3.0.2在Python 2.7上)和4.0.4用于Python 2.7和> = 3.6。
得益于wxPython的AUI模块、窗格、标签、工具栏是可拆卸和可重新定位的。
文本编辑器现在具有自动补全功能。
树窗格上的测试用例,具有新的官方图标,并在运行或暂停时设置动画。
树窗格上的测试用例名称过长的名称用“…”进行缩短。并且在工具提示上可见。
在测试套件级别的树窗格上,上下文菜单允许在文件管理器中打开文件夹,并删除只读文件属性。
如果未选择任何测试,将确认继续运行所有测试。
像快捷键F8一样可以运行测试,现在快捷键F9可以用debug的日志级运行它们。
三、Robot Framework RIDE 1.7.4+ 安装、升级
安装方法千千万,pip大法最简单。直接使用pip安装ride就可以了,Robot Framework、wxPython等依赖库都会自动安装好。
(1)打开命令行提示行,安装或更新Robot Framework版本:
pip install -U robotframework
(2)安装wxPython 4.0.4版本:
pip install wxPython==4.0.4
(3)安装或更新Robot Framework RIDE版本:
通过pip安装指定版本:pip install robotframework-ride==1.7.4.1
四、安装路上踩的坑:
pip install PyPubSub==3.3.0
五、RIDE的使用:
我们说ride是一个简单的小工具,就不一个个菜单一个个功能地介绍了,直接说它一般怎么用。
我们前面说Robot Framework的功能就是把代码文件中的函数抽象成所谓的关键字,我们直接看这主要功能如何实现。
1.新建项目及测试用例
主菜单----File----New Project
主要是填写项目名称(比如我这里是test),其他默认即可。Type/Format这种东西无非是存放格式的区别不必太在意。
在新建的项目上鼠标右键—New Test Case—输入测试用例(我这里是testCase1)名称点击OK。
经以上步骤项目和测试用例都已创建好,当前界面如下:
2.导入自定义库函数
对我们这里页言,自定义库就是前面的test_lib.py,库含数就是其中的get_url_source_code。
左侧窗格选中项目,右侧窗格选中Edit选项卡,点击Library按钮
通过Browse选中我们的test_lib.py,其他不用填,点击OK。
回到主窗口上可以看到导入了一个库(如果呈红色说明导入报错,一般是脚本代码有问题,可借助cmd窗口的输出进行定位)
在上边界面中使用F5键,唤出关键字搜索对话框,Source中下拉选中test_lib。
如无意外,可以看到如下图我们脚本中的get_url_source_code被抽取成了Get Url Source Code关键字,注释这些也都有展现在上面(url那行没换行是\n和\r\n的问题)。
回到主窗口,左侧窗口选中测试用例,右侧窗口选中Edit选项卡,界面如下。
测试用例就真的是测试用例,其中的1、2、3、4、5就是测试步骤,其中第一列是关键字(即本质上的函数),其后各列用于输入参数。
我们输入我们要使用的关键字“Get Url Source Code”(可使用Ctrl+Alt+Space获取补全提示),此时界面如下图。
一列为粉红底色,表示需要一个参数;其余后续列为灰色表示不使用(但如果想的话可以把自己的注释写在这些灰色格子上)。
我们把参数设置成“https://www.baidu.com”,此时再看界面如下,白色底表明填写上没有错误。
如果自己的测试用例后续还有各步,就继续在2、3、4、5那些行继续写下去即可。
4.运行测试用例及查看其报告
运行很简单,左侧窗格钩选要运行的测试用例,右侧窗格切换到Run选项卡,点击Start按钮。
底部窗格的输出其实就只是我们在get_url_source_code函数中的打印。
点击Report和Log按钮查看生成的报告,可以看到主要仍旧只是把打印记录到文件里。