Robot Framework官方教程(四)创建测试套件

Robot Framework官方教程(一)入门
Robot Framework官方教程(二)测试数据语法
Robot Framework官方教程(三)创建测试用例
Robot Framework官方教程(四)创建测试套件
Robot Framework官方教程(五)使用测试库
Robot Framework官方教程(六)变量
Robot Framework官方教程(七)创建用户关键字
Robot Framework官方教程(八) 资源和变量文件
Robot Framework官方教程(九) 执行测试用例
Robot Framework官方教程(十)扩展RobotFramework框架

Robot Framework测试用例是在测试用例文件中创建的,可以将其组织到目录中。这些文件和目录组成了分层测试套件结构。

2.3.1测试用例文件

Robot Framework测试用例使用测试用例文件中的测试用例表创建的。这样的文件会自动从它包含的所有测试用例中创建一个测试套件。可以有多少测试用例没有上限,但建议少于10个,除非使用数据驱动方法,其中一个测试用例只包含一个高级关键字。

设置表中的以下设置可用于自定义测试套件:

注意

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

2.3.2测试套件目录

测试用例文件可以组织到目录中,这些目录可以创建更高级别的测试套件。从目录创建的测试套件不能直接包含任何测试用例,但它包含其他带有测试用例的测试套件。然后可以将这些目录放入其他目录中,从而创建更高级别的套件。结构没有限制,因此可以根据需要组织测试用例。

执行测试目录时,它包含的文件和目录将按递归方式处理,如下所示:

  • 名称以点(.)或下划线(_)开头的文件和目录将被忽略。
  • 名称为CVS的目录将被忽略(区分大小写)。
  • 不在以下已识别的扩展名(.html, .xhtml,.htm,.tsv,.txt,.rst或.rest)的文件将被忽略(不区分大小写)。
  • 其他文件和目录都将被处理。

如果处理的文件或目录不包含任何测试用例,则会以静默方式忽略它(将消息写入syslog)并继续处理。

警告无效文件

通常,使用写入syslog的消息将忽略没有有效测试用例表的文件。从Robot Framework 2.5.5开始,可以使用命令行选项--warnonskippedfiles,它将消息转换为测试执行错误中显示的警告。

初始化文件

从目录创建的测试套件可以具有与从测试用例文件创建的套件类似的设置。因为目录本身不能包含那种信息,所以必须将其放入特殊的测试套件初始化文件中。初始化文件与测试用例文件具有相同的结构和语法,但它们不能包含测试用例表,并且不是所有设置项都支持。

初始化文件名必须始终为__init__.ext格式,其中扩展名必须与支持的文件格式之一匹配(例如,__init__.html__init__.txt。该名称格式来自Python,以这种方式命名文件表示该目录是一个模块。

初始化文件的主要用途是与测试用例文件类似,可以指定与测试套件相关的设置,但也可以设置一些与测试用例相关的设置初始化文件中创建或导入的变量和关键字在子测试套件中不可用**,但是可以使用资源文件共享资源。

如何在初始化文件中使用设置:

  • Documentation, Metadata, Suite Setup, Suite Teardown

    这些特定于测试套件的设置与测试用例文件中的工作方式相同。

  • Force Tags

    指定的标记无条件地设置为此目录直接或递归包含的所有测试用例文件中的所有测试用例。

  • Test Setup, Test Teardown, Test Timeout

    将test setup/teardown或test timeout的默认值设置为此目录包含的所有测试用例。可以在较低级别覆盖。Robot Framework 2.7中添加了对初始化文件中定义测试超时的支持。

  • Default Tags, Test Template

    初始化文件不支持。

    Setting Value Value
    Documentation Example suite
    Suite Setup Do Something ${MESSAGE}
    Force Tags example
    Library SomeLibrary
    Variable Value Value
    ${MESSAGE} Hello, world!
    Keyword Action Argument Argument
    Do Something [Arguments] ${arg}
    Some Keyword ${arg}
    Another Keyword

2.3.3测试套件名称和文档

测试套件名称由文件或目录名构成。创建套件名称好处是可以忽略文件的扩展名,下划线使用空格替换,完全小写的名称将转为标题格式。例如,some_tests.html变为Some TestsMy_test_directory变为My test directory

注意

在Robot Framework 2.5中,创建测试套件名称的规则略有不同。

文件或目录名称可以包含用于控制套件执行顺序的前缀。前缀通过两个下划线与基本名称分隔,并且在构造实际测试套件名称时,前缀和下划线都将被删除。例如,文件 01__some_tests.txt02__more_tests.txt分别创建测试套件Some TestsMore Tests,前者在后者之前执行。

使用 “设置”表中的“Documentation”设置测试套件的文档。它可以在测试用例文件中使用,也可以在更高级别的套件中用于测试套件初始化文件。测试套件文档用法和之前创建测试用例章节中的用法一样。

Setting Value Value Value
Documentation An example test suite documentation with some formatting.
... See test documentation for more documentation examples.

在测试执行中,可以覆盖顶级测试套件的名称和文档。这可以分别使用命令行选项--name--doc来完成,如设置元数据一节中所述。

2.3.4测试套件元数据

测试套件还可以包含除文档之外的其他元数据。此元数据使用“Metadata”设置。以这种方式设置的元数据显示在测试报告和日志中。

对元数据的名称和值参见下表。该值的处理方式与文档类似,这意味着它可以拆分为多个单元格(用空格连接在一起)或分成几行(用换行连接在一起),简单的HTML格式化,甚至可以使用变量。

Setting Value Value Value Value
Metadata Version 2.0
Metadata More Info For more information about *Robot Framework* see http://robotframework.org
Metadata Executed At ${HOST}

对于顶级测试套件,也可以使用--metadata命令行选项设置元数据 。这在“ 设置元数据”一节中有更详细的讨论。

2.3.5套件设置和拆卸

测试用例和测试套件都可以进行设置和拆卸。在运行任何套件或子测试套件的测试用例之前执行套件设置,并在它们之后执行测试拆卸。所有测试套件都可以进行设置和拆卸; 对于从目录创建的套件,必须在测试套件初始化文件中指定它们。

与测试用例类似,套件设置和拆解是一个可以带参数的关键字。它们分别在设置表中使用Suite Setup和Suite Teardown设置进行定义 。它们也有类似的同义词,Suite Precondition和Suite Postcondition,作为测试用例设置和拆解。关键字名称和可能的参数位于设置名称后面的列中。

如果套件设置失败,则会立即为其中的所有测试用例及其子测试套件分配一个失败状态,并且它们实际上并未执行。这使得套件设置非常适合检查在运行测试用例之前必须满足的前提条件

在执行完所有测试用例后,套件拆卸通常用于清理。即使同一套件的设置失败,也会执行它。如果套件拆卸失败,则套件中的所有测试用例都标记为失败,无论其原始执行状态如何。从Robot Framework 2.5开始,即使其中一个关键字失败,也会执行套件拆解中的所有关键字。

作为设置或拆卸执行的关键字的名称可以是变量。通过从命令行提供关键字名称作为变量,这有助于在不同环境中进行不同的设置或拆卸。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容