对于RobotFramework自动化测试框架,我这里会从三个单元进行阐述,希望能对你有帮助。
RobotFramework简介
RobotFramework是什么?
Robotframework 是由python编写的,一个开源的基于关键词驱动的自动化测试框架,它可以做基于UI或者接口的验收测试,有着非常简单易用的语法。它的一大特点就是可以使用java&python去扩展自定义一些测试库以及基于一些已有的关键词自定义一些高级关键词,这就意味着如果官方以及第三方提供的一些测试库没法满足项目的测试需求,你完全可以自己写一个测试库,并基于自定义的关键词去调用相应的测试库进行测试,扩展性非常强。还有一点非常方便的是,当你执行测试完成后,会自动生成一份测试报告(html格式),比较详细的展示了你的测试用例的执行情况,也可以通过查看执行测试的log来定位一些问题。
RobotFramework的优势:
- 编程语言支持:python java
- 支持所有的主流系统
- 主要的IDE:RIDE、Pycharm、Eclipse
- 开源
- 支持多国语言:用户关键字以及用例层面支持utf-8
- 图形化界面友好
- 执行用例后,自动生成log和report报告
- 关键字驱动,内置多个关键字库。可减少造*,易上手
- 支持jenkins持续化集成
基本概念介绍:
robot中测试维度划分为测试套件(Test Suite)和测试用例(Test Case),一个Suite为一组Case的集合,每个Case对应为我们手工执行测试时的Case。
由于robot中复杂逻辑的实现比较繁琐,所以将一些复杂逻辑直接用python代码实现,然后以外部库的形式导入robot中调用,也就是扩展测试库。
关键字模块主要是对一些复用逻辑的封装。
Robot Framework定义了一套自己的测试用例编写规则,所以,必须熟悉该规则,才能编写合法的测试用例。这里要记住几张表就行了,设置表(Settings),变量表(Variables),测试用例表(Test Cases),关键字表(Keywords),大部分的测试用例都是由这几张表组成的。下面是一个测试用例的例子:
*** Settings ***
Library Selenium2Library *** Keywords ***
f1
[Arguments] ${a} ${b}
Log ${a}+${b} *** Variables ***
${str1} 30 *** Testcases ***
Test1
f1 3 4
${time} Get Time
Log ${time}