• 引子

我们使用符合Robot Framework规范的一种表格语法来编写测试用例。用例一般会是下面这个样子


这样的表格存储到一个文件中,就是一组测试用例。RF支持多种格式,如HTML,TSV,纯文本等。它们长相大同小异,其实描述的都是一种内容。为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的。

  • 测试用例与文件的关系

一个文件被称作一个测试套件(Test suit),期间可以包含多个测试用例。上图就是一个测试套件,里面包含2个测试用例,My
Test 和AnotherTest。

Test suit也能嵌套,比如同一个目录下的多个Test suit组成一个更高层的Test Suit,这些更高层的Test
suit可以组成,这种嵌套的层数可以无限多。这种嵌套的用例组织形式在实际应用中很常见。

  • 测试用例文件的内部结构

一个Test Suit文件包含四段内容他们分别是:Setting,Variable,Testcase,Keyword

Setting部分主要的作用是:

引用测试类库文件(test Library),引用资源文件(resource files),引用变量文件(variable
files)。

为测试套件或者测试用例定义元数据(metadata)
 
Variable部分的主要作用是:
定义测试用例中要使用的变量。
 
TestCase部分的主要作用是:
使用测试关键字来完成测试用例
 
Keword部分的主要作用是:
把现有关键字进行组合,生成更高一级的新关键字。
 
  • 对测试用例文本解析的规则

如同各种编程语言一样,RF需要对它规定的这种表格语言进行解析,并用内部引擎把这些脚本语言解释成执行测试用例的具体操作。在解析过程中我们需要如下几点:

  1. 忽略字符:根据格式不同,忽略不符合格式的字符,规则很多,但是可以使用RIDE来规避,使用RIDE我们就可以不考虑这些。
  2. 转义符:RF使用 \ 作为转义符。举个例子:\${notvar} 代表字符串 ${notvar}
    而不是一个变量
  3. 空格:RF会自动截断头尾的空格
  • 多行用例

如果参数太多,需要换行,则需要在下一行的关键字处使用英文的省略号(...)表示参数属于同一个关键字。

Test Case Action Argument Argument Argument
Example [Documentation] Documentation for this test case.
  ... This can get quite long...
  [Tags] t-1 t-2 t-3
  ... t-4 t-5  
  Do X one two three
  ... four five six
  ${var} = Get X 1 2
  ... 3 4 5
  ...

从上表中我们可以看到:[Tags]有5个参数,而Do X有6个参数。

如何编写Robot Framework测试用例1---(基本格式篇)的更多相关文章

  1. 如何编写Robot Framework测试用例2---(测试用例语法1)

    基本语法 测试用例由关键字组成,关键字的来源有三种: 1从测试库引入:2从资源文件引入:3从关键字表中引入(自定义关键字) 下面就是一个典型的测试用例组织形式. 图中有2个测试用例“Valid Log ...

  2. Robot Framework安装

    Robot Framework(中文站/社交化知识社区,源码)是一款Python编写的通用开源功能测试自动化框架,以作验收测试和验收测试驱动开发(ATDD),它是一种使用表格测试数据语法的关键字驱动的 ...

  3. Robot Framework使用Phantomjs进行无界面UI自动化测试

    Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Libr ...

  4. Robot Framework(九) 执行测试用例——基本用法

    3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3. ...

  5. 【转】Robot Framework 快速入门

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  6. Robot Framework 快速入门

    Robot Framework 快速入门 目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键 ...

  7. Robot Framework 快速入门_中文版

    目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变 ...

  8. Robot Framework(十八) 支持工具

    5支持工具 5.1库文档工具(libdoc) libdoc是一种用于为HTML和XML格式的测试库和资源文件生成关键字文档的工具.前一种格式适用于人类,后者适用于RIDE和其他工具.Libdoc也没有 ...

  9. Robot Framework(四)创建测试套件

    2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...

随机推荐

  1. 2018-2-13-WPF-拖动时出现-Invalid-FORMATETC-structure

    title author date CreateTime categories WPF 拖动时出现 Invalid FORMATETC structure lindexi 2018-2-13 17:2 ...

  2. P1065 汪老师的烟

    题目描述 汪老师有n根烟,他每吸完一根烟就把烟蒂保存起来,\(k(k>1)\) 个烟蒂可以换一个新的烟,那么 汪老师 最终能吸到多少根烟呢? 输入格式 每组测试数据一行包括两个整数 \(n,k( ...

  3. Java动态编译优化——提升编译速度(N倍)

    一.前言 最近一直在研究Java8 的动态编译, 并且也被ZipFileIndex$Entry 内存泄漏所困扰,在无意中,看到一个第三方插件的动态编译.并且编译速度是原来的2-3倍.原本打算直接用这个 ...

  4. ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(4)

    接下来就是菜单管理了,菜单分为两部分,一部分是菜单管理,另一部分是左边的树形菜单 数据库添加菜单表Menus USE [MVCSystem] GO /****** Object: Table [dbo ...

  5. codeforces 1183F 离散化枚举 约数定理

    codeforces1183F 有技巧的暴力 传送门:https://codeforces.com/contest/1183/problem/F 题意: 给你n个数,要你从中选出最多三个数,使得三个数 ...

  6. IDEA比较实用的插件之翻译插件(Translation)

    插件名称:Translation 安装步骤:Mac 2019.2的IDEA安装步骤如下 InteIIij IDEA --> Preference --> Other Setting --& ...

  7. JavaScript DOM事件对象的两个小练习 | 学习内容分享

    Event 对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 事件通常与函数结合使用,函数不会在事件发生前被执行! 本文用于记录个人学习过程 ...

  8. 什么?我往Redis写的数据怎么没了?

    大概是因为int没有因为change方法而改变原值,所以就说它传过去的是自身的值,因而叫值传递:User对象经过change方法后,对象的数据变了,就认为是因为实参和形参指向的是同一片内存空间,内存空 ...

  9. requests库结合selenium库共同完成web自动化和爬虫工作

    我们日常工作中,单纯的HTTP请求,程序员都倾向于使用万能的python Requests库.但大多数场景下,我们的需求页面不是纯静态网页,网页加载过程中伴随有大量的JS文件参与页面的整个渲染过程,且 ...

  10. 分布式全局唯一ID生成策略

    为什么分布式系统需要用到ID生成系统 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识.如在美团点评的金融.支付.餐饮.酒店.猫眼电影等产品的系统中,数据日渐增长,对数据库的分库分表后需要有 ...