一、框架介绍
Robot Framework 是一个基于Python的、可扩展的、关键字驱动的测试自动化框架。
为什么选择Robot Framework
- 可以通过现有关键字创建可复用的 高层关键字
- 提供了直观的HTML格式的 测试报告 和 日志文件
- 提供了 测试库API,可以轻易地使用Python或者Java创建自定义的测试库
- 提供了多种测试库支持,如用于web测试的Selenium,Java GUI测试,启动进程,Telnet,SSH等
- 提供 标签 来分类和 选择测试用例
- 提供了 用例级别 和 测试套件级别 的setup和teardown
二、安装
如果你已经安装了 pip ,通过命令 pip install robotframework 就能安装robot framework
三、基本语法
robot framework的语法学起来可能有点别扭,我基本上全是用python来自定义测试库,只利用robot framework框架将测试用例运行起来,自动生成测试报告
- robot文件中,每个变量之间的间隔,是4个空格
*** Settings *** ,*** Test Cases *** 是固定格式,A.py是我的自定义library
-
Test Setup, Test Teardown 会在每个test case执行前后分别执行;
Suite Setup 和 Suite Teardown 会在每个测试套件执行前后分别执行,一般一个Suite(测试套)就是一个robot文件 - [Documentation] 是test case的描述,可以加中文
- [Tag] 是test case的标签,用来对case进行分类
- test_1是A.py文件中,test case的名字,也就是我们自定义library中的关键字
- 注意:自定义library的文件名,要和class的名字相同
01_test.robot 文件
*** Settings ***
Test Setup A.setUpClass
Test Teardown A.tearDownClass
Library A.py
*** Test Cases ***
test_1
[Documentation] XXXX
[Tags] tag
test1
A.py 文件
class A(Base):
@classmethod
def setUpClass(self):
pass
@classmethod
def tearDownClass(self):
pass
def test_1(self):
pass
运行
通过执行robot.run()函数,就能执行Testcases/目录下的所有.robot文件
# -*- coding:utf-8 -*-
import robot
testcases = 'Testcases/' # 测试用例路径
include_tag = [''] # 运行的tag
exclude_tag = ['tag1','tag2'] # 不运行的tag
log = 'log.html' # 生成的测试log文件目录
report = 'report.html' # 生成的测试报告文件名
output = 'output.xml' # 生成的xml文件名
robot.run(testcases=testcases,
include=include_tag,
exclude=exclude_tag,
log=log,
report=report,
output=output,
retry=1)