测试执行
如何创建测试套件结构解析 执行测试数据,如何继续执行一个测试用例失败后, 以及如何优雅地停止整个测试执行。
执行流
执行测试套件和
。 测试套件包含没有被忽略。
讨论了影响执行 在接下来的部分。
安装和卸载
的水平。
套件设置
如果一个测试套件设置,这是执行测试前和孩子 套房。 如果套件设置,测试执行仍在继续 正常。 如果失败了,所有的测试用例套件和它的孩子 套件包含标记失败了。 测试和可能的套件设置 和拆解孩子不执行测试套件。
套件设置通常用于设置测试环境。 因为测试不运行如果套件设置失败,很容易使用 套件设置验证环境的状态 测试可以执行。
套件卸载
如果一个测试套件拆解,它毕竟执行测试 情况和儿童套房。 套件拆解无论执行 测试状态,即使匹配的套件设置失败。 如果套件 拆卸失败,所有的测试套件中失败之后 报告和日志。
即使他们中的一些 失败。
测试设置
可能的测试设置关键词之前执行测试用例。 如果安装失败,关键字不执行。 的主要用途 为测试设置是设置特定的测试环境 的情况。
测试拆卸
可能的测试执行拆卸后的测试用例 执行。 它也不管测试状态和执行 如果测试设置失败了。
同样作为套件拆机,主要用于测试拆解 清理活动。 也完全执行,即使他们的一些 关键词失败。
关键字拆卸
不能设置,但他们可以拆解工作 就像其他的拆解。 关键字拆解后运行关键字 否则执行,无论地位,甚至完全执行 如果他们的一些关键字失败。
执行顺序
测试用例执行测试套件中定义相同的顺序 在测试用例文件中。 测试套件在更高级别的测试套件 执行不区分大小写的字母顺序基于文件或目录 的名字。 如果多个文件和/或目录从命令行, 他们的顺序执行。
文件和目录的名字。 这样的前缀 包括在生成的测试套件名称分开 套房有两个下划线的基本名称:
01__my_suite.html -> My Suite 02__another_suite.html -> Another Suite
允许清单文件每行一个文件。
选择。
通过执行
停止执行与 通过状态和跳过剩余的关键词。
的行为 在不同的情况下解释如下:
- (套件、测试或关键字),这些 关键字通过安装或拆卸。 可能开始的拆解 关键字执行。 测试执行或状态不受影响。
- 在一个测试用例使用时安装或拆卸,外关键字传递 特定的测试用例。 可能的测试和执行关键字拆解。
- 发生在使用这些关键字之前, 以及在拆解执行失败之后,将执行失败。
- 。
。
继续失败
通常测试用例时立即停止他们的关键词 失败。 这种行为可以缩短测试执行时间和防止 如果后续关键字挂或造成问题 被测系统处于不稳定的状态。 这通常的缺点 随后的关键词会给更多的状态信息 系统。 因此机器人框架提供了几种特征后继续 失败。
关键字
处理失败,测试执行 立即终止。 不过,使用这些关键字 测试用例经常增加了额外的复杂性,所以以下特性 值得考虑简化后继续失败。
从关键字特别失败
。
测试结束时,已经有一个或多个可持续失败, 测试将失败。 如果有一个以上的失败, 他们将枚举在最后的错误信息:
Several failures occurred: 1) First error message. 2) Second error message ...
测试执行结束后如果发生正常故障可持续 失败。 也在这种情况下所有的失败将上市 最后的错误消息。
。
关键字
允许 将失败转化为可持续的失败。 这些失败 由框架完全一样的可持续的失败 来自图书馆的关键词。
自动执行继续拆解
。 在实践中这意味着,在拆解 关键词在所有水平总是执行。
所有顶级关键词时执行测试模板
,所有的数据行总是执行 让它确保所有不同的组合进行测试。 在这个 使用持续仅限于顶级关键词,和里面 通常执行结束时如果有non-continuable失败。
停止测试执行优雅
有时候需要停止测试执行之前所有的测试 已经完成了,但是这样创建日志和报告。 不同的方式 为此解释如下。 在所有这些情况下剩下的 测试用例失败。
标签。
ctrl - c
按在控制台 在测试运行。 在Python运行测试时, 立即停止执行,但在Jython之后才结束 当前执行的关键字结束。
再次按下,立即执行结束, 不创建报告和日志。
使用信号
命令,发送信号 也很容易自动化。
。 同样第二信号停止执行有力。
使用关键字
当他们失败。
第一个测试用例失败时停止
失败。 还剩下的测试 都标记为失败。
停止解析或执行错误
使用选项,不过,所有这些错误 致命的和执行停止,这样剩下的测试都失败了。 与 解析错误遇到在执行开始之前,这意味着没有 实际运行测试。
请注意
在机器人2.8.6框架。
拆解处理
默认情况下拆解的测试和套房已经开始 即使测试执行执行停止使用的方法之一 以上。 这允许运行清理活动无论如何执行 结束。
选择。 这可能是有用的,例如, 花费很多时间清理任务。