6附录

6.1测试数据中的所有可用设置

6.1.1设置表

Setting表用于导入测试库,资源文件和变量文件,以及定义测试套件和测试用例的元数据。它可以包含在测试用例文件和资源文件中。请注意,在资源文件中,设置表只能包含用于导入库,资源和变量的设置。

设置表中可用的设置
名称 描述
图书馆 用于使用测试库。
资源 用于获取资源文件。
变量 用于获取可变文件。
文档 用于指定测试套件或 资源文件文档。
元数据 用于设置免费的测试套件元数据。
套房设置 用于指定套件设置。
拆解套房 用于指定套件拆卸。
套房前提 Suite Setup的同义词。
套房后置条件 Suite Teardown的同义词。
强制标签 用于在标记测试用例时为标记指定强制值 。
默认标签 用于在标记测试用例时指定标记的默认值 。
测试设置 用于指定默认测试设置。
测试拆解 用于指定默认测试拆卸。
测试前提条件 测试设置的同义词。
测试后置条件 Test Teardown的同义词。
测试模板 用于为 测试用例指定默认模板关键字。
测试超时 用于指定默认测试用例超时。

注意

所有设置名称都可以选择在末尾包含冒号,例如Documentation : . 这可以使设置更容易阅读,尤其是在使用纯文本格式时。这是Robot Framework 2.5.5中的一项新功能。

6.1.2测试用例表

“测试用例”表中的设置始终特定于为其定义的测试用例。其中一些设置会覆盖“设置”表中定义的默认值。

“测试用例”表中提供的设置
名称 描述
[文档] 用于指定测试用例文档。
[标签] 用于标记测试用例。
[建立] 用于指定测试设置。
[拆除] 用于指定测试拆卸。
[前提] [设置]的同义词。
[后置条件] [拆解]的同义词。
[模板] 用于指定模板关键字。
[超时] 用于指定测试用例超时。

6.1.3关键字表

关键字表中的设置特定于为其定义的用户关键字。

关键字表中提供的设置
名称 描述
[文档] 用于指定用户关键字文档。
[参数] 用于指定用户关键字参数。
[返回] 用于指定用户关键字返回值。
[超时] 用于指定用户关键字超时。

6.2所有命令行选项

此附录列出所有时可用的命令行选项执行测试用例与pybot或jybot,并且当 后处理输出与rebot。

  • 6.2.1测试执行的命令行选项
  • 6.2.2后处理输出的命令行选项

6.2.1测试执行的命令行选项

-N, --name <name>
  设置顶级测试套件的名称。
-D, --doc <document>
  设置顶级测试套件的文档。
-M, --metadata <name:value>
  为顶级测试套件设置免费元数据。
-G, --settag <tag>
  将标记设置为所有已执行的测试用例。
-t, --test <name>
  按名称选择测试用例。
-s, --suite <name>
  按名称选择测试套件。
-i, --include <tag>
  按标签选择测试用例。
-e, --exclude <tag>
  按标签选择测试用例。
-c, --critical <tag>
  具有给定标记的测试被认为是关键的。
-n, --noncritical <tag>
  具有给定标记的测试并不重要。
-v, --variable <name:value>
  设置个别变量。
-V, --variablefile <path:args>
  使用变量文件设置变量。
-d, --outputdir <dir>
  定义创建输出文件的位置。
-o, --output <file>
  设置生成的输出文件的路径。
-l, --log <file>
  设置生成的日志文件的路径。
-r, --report <file>
  设置生成的报告文件的路径。
-x, --xunitfile <file>
  设置生成的XUnit兼容结果文件的路径。
-b, --debugfile <file>
  一个调试文件是在执行过程中写的。
-T, --timestampoutputs
  为所有输出文件添加时间戳。
--splitlog 将日志文件拆分为透明浏览器中打开的较小部分。
--logtitle <title>
  为生成的测试日志设置标题。
--reporttitle <title>
  为生成的测试报告设置标题。
--reportbackground <colors>
  设置生成的报告的背景颜色。
-L, --loglevel <level>
  设置日志记录的阈值级别。可选地,可以使用冒号(:)分隔默认的可见日志级别。
--suitestatlevel <level>
  定义在输出中的 Statistics by Suite表中显示的级别数。
--tagstatinclude <tag>
  仅在“ 按标记统计”表中包含这些标记。
--tagstatexclude <tag>
  从“ 按标记统计”表中排除这些标记。
--tagstatcombine <tags:title>
  根据标记创建组合统计信息。
--tagdoc <pattern:doc>
  将文档添加到指定的标记。
--tagstatlink <pattern:link:title>
  将外部链接添加到“ 按标记统计”表。
--removekeywords <all|passed|for|wuks>
  从生成的日志文件中删除关键字数据。
--listener <name:args>
  设置用于监视测试执行的侦听器。
--warnonskippedfiles
  跳过无效文件时显示警告。
--nostatusrc 无论测试用例中的失败如何,都将返回码设置为零。错误代码正常返回。
--runemptysuite
  如果顶级测试套件为空,则执行测试。
--runmode <mode>
  设置此测试运行的执行模式。有效模式是ExitOnFailure,SkipTeardownOnExit, DryRun和Random:<what>。
-W, --monitorwidth <chars>
  设置控制台输出的宽度。
-C, --monitorcolors <on|off|force>
  指定控制台中使用的颜色。
-P, --pythonpath <path>
  从导入时搜索测试库的其他位置。
-E, --escape <what:with>
  转义控制台中存在问题的字符。
-A, --argumentfile <path>
  用于从中读取更多参数的文本文件。
-h, --help 打印使用说明。
--version 打印版本信息。

6.2.2后处理输出的命令行选项

-N, --name <name>
  设置顶级测试套件的名称。
-D, --doc <document>
  设置顶级测试套件的文档。
-M, --metadata <name:value>
  为顶级测试套件设置免费元数据。
-G, --settag <tag>
  将标记设置为所有已处理的测试用例。
-t, --test <name>
  按名称选择测试用例。
-s, --suite <name>
  按名称选择测试套件。
-i, --include <tag>
  按标签选择测试用例。
-e, --exclude <tag>
  按标签选择测试用例。
-c, --critical <tag>
  具有给定标记的测试被认为是关键的。
-n, --noncritical <tag>
  具有给定标记的测试并不重要。
-d, --outputdir <dir>
  定义创建输出文件的位置。
-o, --output <file>
  设置生成的输出文件的路径。
-l, --log <file>
  设置生成的日志文件的路径。
-r, --report <file>
  设置生成的报告文件的路径。
-x, --xunitfile <file>
  设置生成的XUnit兼容结果文件的路径。
-T, --timestampoutputs
  为所有输出文件添加时间戳。
--splitlog 将日志文件拆分为透明浏览器中打开的较小部分。
--logtitle <title>
  为生成的测试日志设置标题。
--reporttitle <title>
  为生成的测试报告设置标题。
--reportbackground <colors>
  设置生成的报告的背景颜色。
-L, --loglevel <level>
  设置阈值级别以选择日志消息。可选地,可以使用冒号(:)分隔默认的可见日志级别。
--suitestatlevel <level>
  定义在输出中的 Statistics by Suite表中显示的级别数。
--tagstatinclude <tag>
  仅在“ 按标记统计”表中包含这些标记。
--tagstatexclude <tag>
  从“ 按标记统计”表中排除这些标记。
--tagstatcombine <tags:title>
  根据标记创建组合统计信息。
--tagdoc <pattern:doc>
  将文档添加到指定的标记。
--tagstatlink <pattern:link:title>
  将外部链接添加到“ 按标记统计”表。表中的输出。
--removekeywords <all|passed|for|wuks>
  从生成的输出中删除关键字数据。
--starttime <timestamp>
  设置创建报告时测试执行的开始时间。
--endtime <timestamp>
  设置创建报告时测试执行的结束时间。
--nostatusrc 无论测试用例中的失败如何,都将返回码设置为零。错误代码正常返回。
--processemptysuite
  即使顶级测试套件为空,也会处理输出文件。
-E, --escape <what:with>
  转义控制台中存在问题的字符。
-A, --argumentfile <path>
  用于从中读取更多参数的文本文件。
-h, --help 打印使用说明。
--version 打印版本信息。

6.3测试数据模板

在为Robot Framework 创建测试数据时可以使用这些模板。测试用例和资源文件都有模板,资源模板也可用于创建测试套件初始化文件。模板以HTML和TSV格式提供,可以自由定制。

testcase_template.html
HTML格式的测试用例文件模板。
testcase_template.tsv
TSV格式的测试用例文件模板。
resource_template.html
HTML格式的资源文件模板。
resource_template.tsv
TSV格式的资源文件模板。
attd_template.html
用于在验收测试驱动开发(ATDD)样式中创建测试用例的模板。这些测试是从不需要参数的高级关键字创建的,模板已相应简化。

模板可通过此用户指南获得,它们包含在源代码分发中,也可以从http://code.google.com/p/robotframework/wiki/Templates下载 。

6.4文档格式化

可以在测试数据中使用测试套件, 测试用例和用户关键字文档以及免费测试套件元数据的简单HTML格式,以及记录测试库时。格式化与大多数wiki中使用的样式类似,它被设计为可以理解为纯文本和HTML转换之后。

  • 6.4.1代表换行

    • 在测试数据中手动添加换行符
    • 测试数据中的自动换行符
    • 测试库中的文档
  • 6.4.2段落
  • 6.4.3粗体和斜体
  • 6.4.4 URL
  • 6.4.5自定义链接和图像
    • 链接文本内容
    • 链接图像内容
    • 带标题文字的图像
  • 6.4.6表
  • 6.4.7列表
  • 6.4.8预先格式化的文本
  • 6.4.9水平标尺

6.4.1代表换行

 
 

在测试数据中手动添加换行符

测试套件,测试用例和关键字以及测试套件元数据的文档受测试数据的一般解析规则的约束。这意味着不保留正常的换行符,将文档划分为行和段落通常需要使用文字换行符(\ n)。这在下面的示例中显示。

手动添加换行符
设置
文档 第一行。\ n 
\ n 
第二段,这次\ n 
有多行。
 
元数据 值\ n 
分为两行
手动添加换行符
Setting Value Value
Documentation First line.\n
\n
Second paragraph, this time\n
with multiple lines.
 
Metadata Example Value\n
in two lines

测试数据中的自动换行符

手动向长文档添加换行需要花费一些精力,额外的字符也会使测试数据中的文档稍微难以阅读。从Robot Framework 2.7开始,并不总是需要这样,因为在连续文档和元数据行之间自动插入换行符。实际上,这意味着上面的例子也可以写成如下。

自动换行
设置
文档 第一行。
...  
... 第二段,这一次
... 有多条线。
元数据
...
... 两行
自动换行
Setting Value
Documentation First line.
...  
... Second paragraph, this time
... with multiple lines.
Metadata Example
... Value
... in two lines

这种样式在纯文本格式中工作得特别好,其中相同的示例可以这样写:

*** Settings ***
Documentation
... First line.
...
... Second paragraph, this time
... with multiple lines.
Metadata
... Example
... Value
... in two lines
译:
***设置***
文档
... 第一行。
...
......第二段,这一次
......有多条线。
元数据
......例子
......价值
......两行

如果一行已经以换行符结尾,或者以换行符和转义反斜杠结尾,则不会添加自动换行符。另请注意,如果文档或元数据在同一行的多个单元格中定义,则这些单元格将与空格一起链接。所有这些情况都在下面的示例中说明,其中所有测试用例最终都具有相同的两行文档。

多行文档示例
测试用例 行动 争论 争论 争论
例1 [文档] 第一行\ n 第二行 多个部分
  没有操作      
例2 [文档] 第一行    
  ... 第二行 多个部分  
  没有操作      
例3 [文档] 第一行\ n    
  ... 第二行    
  ... 多个部分    
  没有操作      
多行文档示例
Test Case Action Argument Argument Argument
Example 1 [Documentation] First line\n Second line in multiple parts
  No Operation      
Example 2 [Documentation] First line    
  ... Second line in multiple parts  
  No Operation      
Example 3 [Documentation] First line\n    
  ... Second line in\    
  ... multiple parts    
  No Operation      

测试库中的文档

使用库文档时,正常的换行就足够了,例如,以下关键字文档将创建与上一节中的测试套件文档相同的最终结果。

def example_keyword():
"""First line. Second paragraph, this time
with multiple lines.
"""
pass

6.4.2段落

从Robot Framework 2.7.2开始,格式化HTML文档中的所有常规文本都表示为段落。实际上,无论是手动添加还是自动添加换行符,由单个换行符分隔的行都将组合在一个段落中。可以使用空行(即两个换行符)分隔多个段落,还可以在后续章节中讨论的表格,列表和其他特殊格式的块结束段落。

例如,以下测试套件或资源文件文档:

*** Settings ***
Documentation
... First paragraph has only one line.
...
... Second paragraph, this time created
... with multiple lines.
译:
***设置***
文档
......第一段只有一行。
...
......第二段,这一次创造了
......有多条线。

将以HTML格式化为:

第一段只有一行。

第二段,这次用多行创建。

注意

在2.7.2之前处理段落是不一致的。在使用libdoc生成的文档中,行被合并到段落中,但在日志和报告中显示的文档中却没有。

6.4.3粗体和斜体

可以通过在所选单词之前和之后使用星号来创建粗体文本,例如*这是粗体*。斜体样式的工作方式类似,但使用的特殊字符是下划线,例如_italic_。也可以使用粗体斜体语法_ * bold italic * _。

单独或在单词中间的星号或下划线不会开始格式化,但允许在它们之前或之后使用标点符号。当多行形成段落时,粗体和斜体都可以跨越多行。

大胆和斜体的例子
未格式化 格式化
*胆大* 胆大
_italic_ 斜体
*粗体*然后_italic_ 粗体,然后斜体
_ *粗体斜体* _,_italic_,没什么 粗体斜体斜体,没什么
这是
多个\ n 
行* 上的*粗体\ n 。
这是行的粗体

Bold and italic examples
Unformatted Formatted
*bold* bold
_italic_ italic
*bold* and then _italic_ bold and then italic
_*bold italic*_, _italic_, nothing bold italicitalic, nothing
This is *bold\n
on multiple\n
lines*.
This is bold
on multiple
lines.

6.4.4 URL

所有看起来像URL的字符串都会自动转换为可点击的链接。此外,以.jpg,.jpeg,.png,.gif或 .bmp(不区分大小写)结尾的网址 会自动创建图片。例如,像http://example.com这样的URL 会转换为链接, http:///host/image.jpg和file:///path/chart.png会 转换为图像。

将URL自动转换为链接将应用于日志和报告中的所有数据,但创建映像仅针对测试套件,测试用例和关键字文档以及测试套件元数据。

6.4.5自定义链接和图像

从Robot Framework 2.7开始,可以使用特殊语法[link | content]创建自定义链接和嵌入图像。这将创建链接或图像,具体取决于链接和内容图像。如果它们具有与URL特殊相同的图像扩展名,则它们被视为图像。在所有情况下,周围的方括号和部件之间的管道特性是强制性的。

链接文本内容

如果链接和内容都不是图像,则最终结果是普通链接,其中链接是链接目标,内容 是可见文本:

[file.html|this file] -> <a href="file.html">this file</a>
[http://host|that host] -> <a href="http://host">that host</a>

链接图像内容

如果内容是图像,则会获得链接内容为图像的链接。链接目标是通过链接创建的,它可以是文本或图像:

[robot.html|robot.png] -> <a href="robot.html"><img src="robot.png"></a>
[image.jpg|thumb.jpg] -> <a href="image.jpg"><img src="thumb.jpg"></a>

带标题文字的图像

如果链接是图像但内容不是,则语法会创建一个图像,其中内容是鼠标悬停在图像上时显示的标题文本:

[robot.jpeg|Robot rocks!] -> <img src="robot.jpeg" title="Robot rocks!">

6.4.6表

使用管道字符创建表,其中包含空格作为单元格边界,可能自动添加的换行符作为行分隔符:

| * A * | * B * | * C * |
| _1_ | 你好| 世界|
| _2_ | 嗨|

创建的表始终具有细边框,文本左对齐。使用粗体和斜体的格式也可以在表格单元格中使用,因此可以创建标题。自动添加空单元格以使行长度相等。例如,上面的示例将在HTML中格式如下:

A B C
1 你好 世界
2 你好  

6.4.7列表

通过使用连字符和空格(' - ')开始一行来创建列表。不以“ - ”开头的空行或行结束列表:

Example:
- a list item
- a second list item This is outside the list.
译:
例:
- 列表项
- 第二个清单项目 这不在列表中。

上面的文档在HTML中格式如下:

例:

  • 列表项
  • 第二个列表项

这不在列表中。

注意

2.7.2中添加了对格式列表的支持。在此之前,相同的语法阻止了libdoc将行组合成段落,因此最终结果是相似的。

6.4.8预先格式化的文本

从Robot Framework 2.7开始,可以在文档中嵌入预格式化文本块。通过以'|开头的行创建预格式化块 ',除了空行之外,管道字符后必须有一个空格。首发'| '序列将从生成的HTML中删除,但保留所有其他空格。

在以下文档中,两个中间行在转换为HTML时形成预格式化的块:

Doc before block:
| inside block
| some additional whitespace
After block.
译:
块前的文件:
| 内部块
| 一些额外的空白
阻止之后。

上面的文档格式如下:

Doc before block:

inside block
some additional whitespace

After block.

译:

块前的文件:

内部块
一些额外的空白

阻止之后。

6.4.9水平标尺

水平标尺(<hr>标签)可以将较大的部分彼此分开,并且可以通过在一条线上单独使用三个或更多个连字符来创建它们:

这里有一些文字。

---

更多文字......

上面的文档格式如下:

这里有一些文字。


更多文字......

6.5时间格式

Robot Framework有自己的时间格式,由几个关键字(例如Sleep和Wait Until Keyword Succeeds)以及测试用例和用户关键字超时使用。这种格式既易于使用又易于理解。

6.5.1时间为数字

时间总是以普通数字给出,在这种情况下,它被解释为秒。整数和浮点数都可以工作,并且可以使用实数或包含数值的字符串。例如,在计算实际时间值时,此格式很有用。

6.5.2时间为文本

将时间表示为文本意味着使用诸如2分42秒的格式,这通常比仅将值设置为秒更容易理解。例如,不容易理解时间4200以秒为单位,但是1小时10分钟立即清楚。

这种格式的基本思想是先输入一个数字,然后输入一个文本,指明该数字代表的时间。数字可以是整数或浮点数,整个格式是大小写和空间不敏感的,可用的说明符文本是:

  • 天,天,d
  • 小时,小时,小时
  • 分钟,分钟,分钟,分钟,米
  • 秒,秒,秒,秒,秒
  • 毫秒,毫秒,毫秒,毫秒

例子:

1分30秒
1.5分钟
90秒
1天2小时3分4秒5毫秒
1d 2h 3m 4s 5ms

6.6内部API

从Robot Framework 2.7开始,API文档在优秀的Read the Docs服务中单独托管。如果您不确定如何使用某些API或使用它们向前兼容,请将问题发送到邮件列表。

Robot Framework(十九) 附录的更多相关文章

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

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

  2. Robot Framework学习笔记(十)------Selenium2Library库

    一.安装selenium2library库 如果已经安装了pip,则使用管理员模式打开windows命令行,输入pip install robotframework-selenium2library, ...

  3. [原]Jenkins(二十) jenkins再出发之Error: Opening Robot Framework log failed

    错误缘由:使用plugin [public robot framework test results] 生成的HTML文件都无法正常打开.   解决方案: Connect on your jenkin ...

  4. Robot Framework(十二) 执行测试用例——配置执行

    3.4配置执行 本节介绍可用于配置测试执行或后处理输出的不同命令行选项.与生成的输出文件相关的选项将在下一节中讨论. 3.4.1选择测试用例 通过测试套件和测试用例名称 按标签名称 当没有测试匹配选择 ...

  5. Robot Framework(十) 执行测试用例——测试执行

    3.2测试执行 本节描述如何执行从解析的测试数据创建的测试套件结构,如何在失败后继续执行测试用例,以及如何正常停止整个测试执行. 3.2.1执行流程 执行套房和测试 设置和拆卸 执行顺序 3.2.2继 ...

  6. Robot Framework(十四) 扩展RobotFramework框架——创建测试库

    4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot ...

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

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

  8. Robot Framework(十六) 扩展RobotFramework框架——使用监听器接口

    4.3使用监听器接口 Robot Framework有一个侦听器接口,可用于接收有关测试执行的通知.监听器是具有某些特殊方法的类或模块,它们可以用Python和Java实现.监听器接口的示例用法包括外 ...

  9. Robot Framework(十五) 扩展RobotFramework框架——远程库接口

    4.2远程库接口 远程库接口提供了在运行Robot Framework本身的机器上运行测试库的方法,以及使用除本机支持的Python和Java之外的其他语言实现库的方法.对于测试库,用户远程库看起来与 ...

随机推荐

  1. Android 使用自定义Drawable 设置圆角矩形或者圆形图片

    转自  Android Drawable 那些不为人知的高效用法 本文出自:[张鸿洋的博客] http://blog.csdn.net/lmj623565791/article/details/437 ...

  2. SQL优化中的重要概念:锁定

    原文:SQL优化中的重要概念:锁定 上篇文章讲的是事务,这篇就引出另一个重要概念,就是锁定. 当一个用户要读取另一个用户正在修改的数据,或者一个用户正在修改另一个用户正在读取的数据,或者一个用户要修改 ...

  3. .net core mvc + mysql dbfirst 生成 ado.net 数据模型

    1.点击“工具”->“NuGet包管理器”->“程序包管理器控制台” 安装一下包 Install-Package MySql.Data.EntityFrameworkCore -Pre I ...

  4. asp.net core 2.0发布到IIS报错解决方案

    大体来说,是环境的问题. 第一个错误,如图: 1. 查了网上说是文件夹权限的问题,依次设置了Everyone权限和IIS_IUSER权限,能勾选的都勾选了,然而并没有什么用,看来不是这个问题导致的. ...

  5. Unity使用Resources读取Resources路径下的二进制文件(Binary Data)必须使用 .bytes扩展名

    将某二进制文件放在Resources目录下,希望用Resources.Load<TextAsset>的方式读取,发现TextAsset是null 查阅Unity文档得知,使用Resourc ...

  6. 操作RDS文档说明

    操作RDS文档,让你对阿里云的知识更加了解.

  7. [LeetCode] 206. Reverse Linked List ☆(反转链表)

    Reverse Linked List 描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL    输出: 5->4->3-> ...

  8. 安卓直连SQLSEVER数据库

    1.导入连接SQLSEVER的jar包:可以支持android的SQL驱动(如:jtds-1.2.7.jar) 2.编写连接数据库的工具类 import java.lang.reflect.Field ...

  9. openpyxl 设置单元格颜色

    在处理excel数据格式的时候,需要对特定单元格进行颜色标注,方便相关人员查看 醒目 # -*- coding: utf-8 -*- from openpyxl import load_workboo ...

  10. 熟记这些python内置函数,你离大佬就不远了

    python内置了很多函数,方便我们在写程序的时候调用,在ython 2.7 的所有内置函数共有80个.熟练记住和使用这些内置函数,将大大提高写Python代码的速度和代码的优雅程度. 以下代码示例用 ...