Robot Framework是什么?有什么作用?及其安装

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]:设置用例超时时间

上一篇:Codeforces Round #691 (Div. 2)


下一篇:linux 创建新用户并增加管理员权限