[关闭]
@snakeshiy 2018-10-24T15:52:45.000000Z 字数 2215 阅读 1952

Robot Framework 入门

RobotFramework 自动化测试


1. What is Robot Framework

Robot Framework(以下简称RF)是一款开源自动化测试框架,支持关键字驱动,有丰富的扩展库,可以对多端和接口进行测试

2. Why RF

  • 测试脚本可读性强,对中文的支持较好
  • 官方提供的扩展库非常丰富,并且支持自定义的Python和Java库
  • 测试报告和日志结构清晰,容易阅读和定位问题
  • 支持分布式测试执行
  • 提供二次开发的扩展能力

grammar

示例测试报告测试日志

RF支持的一些常用的扩展库,如:

3. Why PyCharm + RF

  • PyCharm对Python的集成开发环境更强大
  • PyCharm RF Plugin也提供了对RF良好的支持
  • 更好地融入CI/CD体系中

4. 环境搭建

安装RF

  1. pip install robotframework

在PyCharm中安装RF插件

工欲善其事,必先利其器。在Pycharm中开发RF脚本,语法高亮和提示功能必不可少。我们在 PyCharm -> Preferences -> Plugins -> Browse repositories 中查找并安装

安装完这两个插件后,重启PyCharm,然后我们可以尝试在PyCharm项目中新建一个robot文件。

5. 基本语法

RF文件内容主要由四大块组成:Settings、Variables、Keywords、Test Cases

  1. *** Settings ***
  2. Documentation This is a demo test suite
  3. Resource Flow/order_flow.robot
  4. Library Selenium2Library
  5. Suite Setup log 初始化-测试用例集
  6. Suite Teardown log 清除化-测试用例集
  7. Force Tags demo_suite

Settings —— 配置信息,可以定义说明性文档、引用库和资源文件、标签以及定义Test Suite和Test Case属性等等。
在Settings里常用的一些关键字有:
Library —— 引入函数库
Resource —— 引入资源文件、Robot文件等
Documenation —— 对测试用例集进行描述
Suite Setup —— 在测试用例集运行前先运行,用于初始化
Suite TearDown —— 在测试用例集运行后再运行,用于数据清除
Test Setup —— 默认在每个用例前执行
Test TearDown —— 默认在每个用例后执行
Test Template —— 默认对每个用例设置测试模板

  1. *** Variables ***
  2. ${const_var} ROBOT_FRAMEWORK # 普通变量
  3. @{list_var} this is a demo # 列表变量
  4. &{dict_var} name=Robot address=road phone=1345 # 字典变量

Variable —— 定义变量,上面的示例代码中,包含了常见的三种类型变量的定义方式

  1. *** Keywords ***
  2. 加法
  3. [Arguments] ${arg1}=0 ${arg2}=0
  4. ${result} add ${arg1} ${arg2}
  5. [Return] ${result}

Keywords —— 用户定义的关键字,类似于一个函数,可以通过[Arguments]为关键字定义参数及默认值,内部逻辑中调用了一个python自定义的add函数,通过[Return]将结果返回

  1. *** Test Cases ***
  2. 加法计算
  3. [Tags] demo1
  4. ${result} 加法 2 3
  5. should be equal ${result} ${5}

Test Cases —— 具体的测试用例描述及操作步骤,可以引入关键字、测试数据和断言对逻辑进行验证。
在Test Cases中我们还可以对当前测试用例进行配置,主要有以下几种用法:
[Documentation] —— 对用例进行描述
[Tags] —— 对用例进行分类标签
[Setup] —— 在用例执行前先执行,主要用于初始化工作
[Teardown] —— 在用例执行后再执行,主要用于数据清理工作
[Template] —— 引用关键字作为测试模板,用于数据驱动的场景
[Timeout] —— 对用例进行超时时间设置

6. 运行方式

常用的几种执行方式:

  1. pybot -P . -i demo1 .
  1. pybot -P . -t '加法计算' .
  1. pybot -P . -s 'demo_test_suite' .

7. 测试报告与日志

运行结束后,右键点击根目录下的 log.html 文件,选择 Open in Browser -> Chrome,即可查看测试报告与测试日志。

注意: 如果Chrome浏览器打不开报告,需要在应用商店搜索 Disable Content-Security-Policy 的插件并安装

8. 相关学习资料

  1. Robot Framework官方指导手册(虽然全英文比较难啃,但是还是强烈推荐,全部翻译完你就可以出书了)
  2. Robot Framework内置常用库(最基本也是必须掌握的关键字)
  3. Robot Framework API文档(对RF进行二次开发必备)
  4. Robot Framework良好写作规范(写测试脚本容易,写好测试脚本,难!)

作者 小肥羊
2018 年 10月 24日

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注