Robot Framework是什么?有什么作用?
robot framework是一个通用型的自动测试框架(框架-实现特定需求的软件的解决方案包)
什么是自动化测试框架?
自动化测试面对的问题:
1)如何组织我们的自动化测试脚本?都放在一个大目录里面?
2)一次测试开始了,如何选择测试脚本执行?难道是手动的一条条执行脚本?
3)每个测试脚本中,各个检查点是否通过,如果在 测试结果里面清晰的反馈
4)执行结果如何以容易查看的报告得出形式提交给别人查阅?
自动化测试框架可以解决以上问题
测试人员开发测试数据文件(Test Data)对应一个个的测试用例,
测试数据文件里面使用的功能小模块叫关键字,由测试库(Test Libraries)实现,
Robot Framework加载测试库,并解释执行Test Data也就是测试用例。
Robot Framework功能和特点
1)提供简单易懂的表格式的“语言”来开发自动化测试用例
2)以关键字(keyword)的形式来开发测试用例
a、标准库提供了常用的功能
b、第三方扩展库
c、开发者根据产品自行开发库
》自动化框架、库开发者
》自动化用例开发者
3)定义了灵活且容易理解的测试用例执行控制(包括初始化和清除环境)
4)可以方便挑选要执行的用例和套件(名称、标签过滤)
5)有清晰的日志和报表功能,让QA和manager可以清除的查看测试执行结果
Robot Framework安装
1)安装:pip install robotframework
》参考官方文档连接地址:http://robotframework.org/
2)seleniumlibrary的安装:
》支持Selenium自动化的RF扩展库
》pip install robotframework-seleniumlibrary
》seleniumlibrary官网文档连接地址:http://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
3)Pycharm插件IntelliBot的安装
》安装方法:Settings->Plugins->Browse repositories->在搜索框输入robot
》选择Intellibot@SeleniumLibrary Patched、Run Robot framework file、Run Robot Framework TestCase三个插件
4)RIDE:不推荐使用(适合没有编码能力的人)
》已经停止维护
test suite和testcase
1)测试套件,就是测试用例的集合
》一般我们把功能相关的测试用例组合起来放在一起,成为某个测试套件
》套件文件里面包含测试用例
robot自动化用例的执行方法
1)找到测试用例所在文件目录,在终端进入,执行套件中所有用例(webtest为测试套件名称)命令为:robot webtest
测试用例构成:
1)关键字
》Robot Framework里面的关键字我们可以看做是对应编程语言里面函数的概念
》Robot Framework的核心就是关键字,关键字提供了自动化的能力集
2)测试库
》关键字由测试库提供
》实现关键字的库,按类型来分,可以分为RF标准库和扩展库
》标准库是按照好RF后,就已经按照好的Python库文件
》放在Python的Lib/site-packages/robot/libraries目录下面
》Robot Framework可以让开发者自行开发扩展库。其实扩展库和标准库比起来,主要的区别就是没有Robot Franework内置,其他方式和标准库并无不同
套件(数据文件)中的表
1)Robot Framework支持四种表
》分别为Setings、Variables、Test Cases、Keywords
》表名必须出现在第一个单元格中。表名大小写不明感
2)Settings表,是这个测试套件的全局配置表。比如,说明这个测试套件要使用的测试库、资源文件,测试套件的环境初始化(setup)和清除(teardown),该套件内的标签等待
3)Test Cases表,是用来定义这个测试套件的测试用例的
4)Variables表,就是这个测试套件的全局变量表
5)Keywords表,是用来定义这个测试套件的用户关键字的
测试用例表语法
1)测试用例表里面的每个测试用例,大概可以分为:
》配置部分
》主体部分
2)用例配置部分
》[Documentation] :该用例的文字说明
》[Tags]:该用例的标签
》[Setup],[Teardown]:该用例的初始化和清除操作
》[Template]:声明该用例是模板关键字驱动的。本用例只包含测试用例。
》[Timeout]:设置用例超时时间