物联网 > > 产品库 > 如何编写Robot Framework测试用例1

如何编写Robot Framework测试用例1

来源:https://www.wlworld.com.cn 时间:2024-09-15 编辑:admin 手机版

如何编写Robot Framework测试用例1

我们使用符合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需要对它规定的这种表格语言进行解析,并用内部引擎把这些脚本语言解释成执行测试用例的具体操作。在解析过程中我们需要如下几点:

忽略字符:根据格式不同,忽略不符合格式的字符,规则很多,但是可以使用RIDE来规避,使用RIDE我们就可以不考虑这些。

转义符:RF使用 \ 作为转义符。举个例子:\${notvar} 代表字符串 ${notvar} 而不是一个变量

空格: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个参数。

怎么写测试用例

● 测试用例编号

◇ 规则:编号具有唯一性、易识别性,由数字和字符组合成的字符串

◇ 约定:

系统测试用例:产品编号-ST-系统测试项名-系统测试子项名-XXX

集成测试用例:产品编号-IT-集成测试项名-集成测试子项名-XXX

单元测试用例:产品编号-UT-单元测试项名-单元测试子项名-XXX

● 测试项目

◇ 规则:当前测试用例所属测试大类、被测需求、被测模块、被测单元等

◇ 约定:

系统测试用例测试项目:软件需求项 如:测试手机在没有SIM卡的情况下,可以拨打紧急电话

集成测试用例测试项目:集成后的模块名或接口名 如:测试模块A提供的文件接口

单元测试用例测试项目:被测试的函数名 如:测试函数int ReadFile(char *pszFileName)

● 测试标题

规则:测试用例的概括简单的描述用例的出发点、关注点,原则上不能重复。

● 重要级别

规则

高:保证系统基本功能、核心业务、重要特性、实际使用频率高的测试用例;

中:重要程度介于高和低之间的测试用例;

低:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。

● 预置条件

规则:执行当前测试用例需要的前提条件,是后续步骤的先决条件

● 输入

规则:用例执行过程中需要加工的外部信息,输入、文件、数据库等

● 操作步骤

规则:执行当前测试用例需要经过的操作步骤,保证操作步骤的完整性。

● 预期输出

规则:当前测试用例的预期输出结果,包括返回值的内容、界面的响应结果、输出结果的规则符合度等

最近更新

产品库排行榜精选