上篇文章讲了自动化测试的重要性,今天就给大家讲讲自动化框架 Robot Framework 的安装和 demo 演示。
为什么选择此框架
RF(Robot Framework的简称)自动化测试框架优点:
门槛低,采用表格化用例,降低了自动化测试入门门槛。
重用性好,可以利用现有的关键字组装成新的关键字。
易于扩展,可以自定义测试库。
提供简单的 Libary API,Robot Framework 是通过测试库识别被对象、操纵被测对象,有很多自带的或者第三方的开源测试库。
易于集成,提供界面命令行多种接口的执行方式。
功能全面,支持 WEB 测试、SSH、telnet、API 接口多种测试方式。
提供 HTML 的简单易读的报表和日志结果文件。
用框架的好处就是不用重复造轮子,可维护性好、兼容性好。
语言环境
RF 的核心框架使用 Python 实现,我们编写脚本的语言也是使用 Python,Python 目前有 2 和 3 两个版本,不过 Python 2 将于 2020 年 1 月 1 日终止支持。所以如果你现在接触 Python 的话,最好选择 Python 3 的版本。一些老的教学视频还是用 Python 2 版本来教学,建议大家分辨清楚。
Python 3 的安装就不啰嗦了,不会的大家请求搜索引擎的帮助。
框架安装
RF 框架安装,最简单的方法是用通用的 Python 包管理工具 pip 命令来安装,Python 3 安装好后这个管理工具 pip 会自动安装好,直接用就好。
pip install robotframework
验证下是否安装成功:cmd 命令提示符窗口下输入以下命令查看
pip list
列表中出现了框架名称就表示安装成功。
编辑器
框架安装成功后,接下来我们需要一个编辑脚本的编辑器。Python 2 版本的话我们可以用 RIDE 编辑器。但是 RIDE 编辑器不支持 Python 3,所以我们得找其他编辑器,我目前用的编辑器是 PyCharm,下面讲解的例子以这个编辑器为准。当然,你也可以用其他的编辑器,比如 RF 官网提供的 RED,RED 是基于 Eclipse IDE 的现代编辑器。大家可以用用看,哪个用得舒服用哪个。
Pycharm配置
1、编辑器中安装 RF 插件
首先在 Pycharm Settings 里插件中输入 intelliBot,点击右边 Install 就行安装,安装完成后会提示你重启编辑器。我的已经安装过了,所以下图中显示的是 Uninstall 按钮。
2、在 Pycharm 中配置 RF 的文件类型识别
因为 RF 框架是支持脚本文件以 txt 格式存在的。所以还是在 Settings 中 Editor–File Types 里找到 Robot Feature 选项,增加 RF 文件格式,增加 txt 格式,我们用 *.txt 表示。如需其他格式的也可以在这里添加。
3、在 pycharm 中配置 suite 和 case 的运行配置
配置 TestSuite 运行方法
执行测试组件脚本时,需进行如下设置:在 Settings–Tools–External Tools 下添加工具配置测试组件的运行方法。
Name:Robot Run TestSuite
Progtam:选择 pybot.bat 文件的安装路径
Argument:-d results $FileName$
Working directory:$FileDir$
配置 TestCase 运行方法
执行单个测试案例时,需进行如下设置:继续在 Settings–Tools–External Tools 下添加工具配置测试案例的运行方法。。
Name:Robot Run SingleTestCase
Progtam:选择 pybot.bat 文件的安装路径
Argument:-d results -t "$SelectedText$" ./
Working directory:$FileDir$
第三方库安装&调用
第三方库安装
前面说到,RF 框架有很多自带的或者第三方的开源测试库。大家可以在 RF 官网查看所有的第三方库,地址如下:
http://robotframework.org/#libraries
图中截图了部分第三方库
今天就以 selenium2Library 库操作浏览器来举例,首先用命令安装测试库。
pip install robotframework-selenium2library
安装成功后在编辑器中安装好这个库,前面如果 robotframework 库没有在编辑器中安装此时也可一并安装。
调用库
先在目录下新建一个 test.robot 或者test.txt 文件,RF 中调用库在 Settings 下配置,输入需调用的 Library 的名称。像 Settings 和 Library 这些 RF 中自带的名称你输入第一个字母时会自动匹配出来。
在 Test Cases 格式下书写自动化脚本,比如我要用 chrome 浏览器打开 pk 哥的博客。用 selenium2library 库中的 Open Browser 关键字,后面加上你需要打开的网址和用的浏览器类型。浏览器这块注意下,如果你用的是非狐火浏览器,比如我用的 chrome,需要把对应浏览器的驱动文件放在 Python 安装目录下,而且浏览器驱动必须和浏览器版本是匹配的,或者会报错。这个细节下次详细再做讲解,这次只是做一个小 demo。
demo 中的操作步骤很简单,分为 3 步,3 个关键字都是库里定义好的,直接调用就行。
1、打开 pk 哥博客。
2、等待 1 秒。
3、关闭浏览器。
*** Test Cases ***
打开pk哥博客
Open Browser https://www.jianshu.com/u/52353ffa8b86 chrome
sleep 1
Close Browser
接下来运行单条测试案例,选择案例名称,用上面在 External Tools 中添加的 Robot Run SingleTestCase 执行单条测试案例,演示动态效果图如下。
案例执行完后 RF 会自动生成日志文件和报告文件,都是 html 格式的文件,用浏览器打开即可查看。
打开日志文件 log.html 文件可查看执行情况,展开可查看执行详细过程。如果有些案例执行失败,可以通过此文件来定位问题。
打开 report.html 文件可以查看案例执行的整体情况。
今天的 Python 自动化框架就分享到这里,希望对你有帮助,祝进步!
最后我也整理了一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这份资料也已经帮助了很多的软件测试的学习者,希望也能帮助到你。需要的进群 644956177 自取喔。软件测试,与你同行!陪你成为优秀的测试工程师!
既然都看到这里啦,请你帮个忙:
1、点赞,让更多小伙伴看到;
2、关注我,持续更新测试干货。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
干货分享
从一个萌新小白到一次拿下5个测试offer,我的测试成长之路···