剧本示例表(Example)

概念

示例表(Example)是场景大纲(Scenario Outline)中必要的部分。对于示例中的每一行数据,将执行一遍场景大纲的所有步骤,并将相应的数据填入参数中。

场景大纲中可以有零个或多个示例表。如果场景大纲中没有示例表格,那么在执行过程中甚至不会执行这个场景大纲。

剧本示例表(Example) - 图1

通常情况下,对于某个特定场景大纲一个示例表就足够了。但是,在某些情况下,您想要将不同类别的多个示例行分组到不同表中,并用标签标记不同的示例表,这样就可以使用标签过滤,仅运行某些组以进行测试。有关如何在剧本(gherkin)文档中使用标签的更多信息,请参阅标签

使用示例表

右键场景大纲的标题插入示例表,如下:

剧本示例表(Example) - 图2

要编辑示例表。只要双击表格的标题单元格或数据单元格,就可以将该行更改为编辑状态,如果用键盘将焦点切换到下一个单元格,则上一个单元格的更改将生效。

譬如有一个登录测试场景,需要验证不同情况下登录校验,就可以通过使用示例表大大减少工作量: 剧本示例表(Example) - 图3

上面的场景出自样例CNodeJS社区UI自动化项目

链接示例表

除了直接编辑或者导入数据到示例表中外,还有另一种使用示例表的方法,即直接通过链接引用外部表格文件。右击场景大纲选择添加链接示例表,或者点击示例表右上角链接符号剧本示例表(Example) - 图4来选择要链接的表格文件。

目前仅支持csv表格文件。

链接示例表添加了以后效果如下:
剧本示例表(Example) - 图5

文本视图对应的剧本代码为:

  1. 场景大纲: 执行大量计算(通过链接表格文件)
  2. 当点击符号"<sign1>"
  3. 假如点击数字"<num2>"
  4. 那么点击符号"<sign2>"
  5. 例子:
  6. #data_source: ../data.csv

链接示例表展示的表格视图只是便于观察表格内容,而无法直接在CukeTest中编辑,只有打开原文件进行编辑。如果外部表格文件进行了修改,可以右击链接示例表刷新视图来更新显示。

您会注意到,链接示例行以带注释的“data_source”语句开头,然后是冒号,然后是文件路径。 文件路径可以是文件的绝对路径,也可以是相对于此剧本文件的相对路径。

注意:文件路径的分隔符与平台的兼容性。例如您如果用“/”作为路径的分隔,可以在所有平台适用,但如果用了反斜杠“\”,如“..\data.csv”,则只能在Windows平台下工作。

Example键盘导航

当示例表处于编辑模式时,您可以使用键盘在单元格之间进行导航。要移至下一个表格单元格,可以按Enter键或Tab键。要移至上一个表格单元格,可以按Shift-EnterShift-Tab键。