剧本示例表(Example)
概念
示例表(Example)是场景大纲(Scenario Outline)中必要的部分。对于示例中的每一行数据,将执行一遍场景大纲的所有步骤,并将相应的数据填入参数中。
场景大纲中可以有零个或多个示例表。如果场景大纲中没有示例表格,那么在执行过程中甚至不会执行这个场景大纲。
通常情况下,对于某个特定场景大纲一个示例表就足够了。但是,在某些情况下,您想要将不同类别的多个示例行分组到不同表中,并用标签标记不同的示例表,这样就可以使用标签过滤,仅运行某些组以进行测试。有关如何在剧本(gherkin)文档中使用标签的更多信息,请参阅标签。
使用示例表
右键场景大纲的标题插入示例表,如下:
要编辑示例表。只要双击表格的标题单元格或数据单元格,就可以将该行更改为编辑状态,如果用键盘将焦点切换到下一个单元格,则上一个单元格的更改将生效。
譬如有一个登录测试场景,需要验证不同情况下登录校验,就可以通过使用示例表大大减少工作量:
上面的场景出自样例CNodeJS社区UI自动化项目。
链接示例表
除了直接编辑或者导入数据到示例表中外,还有另一种使用示例表的方法,即直接通过链接引用外部表格文件。右击场景大纲选择添加链接示例表,或者点击示例表右上角链接符号来选择要链接的表格文件。
目前仅支持
csv
表格文件。
链接示例表添加了以后效果如下:
文本视图对应的剧本代码为:
# language: zh-CN
功能: 用户注册
对于首次进入的用户,登陆前进行注册,之后才可以登录进入
场景大纲: 用户注册
假如已经进入用户注册页面
当用户名字段后输入"<username>"
当密码字段后输入"<password>"
当确认密码字段后输入"<confirm>"
当电子邮箱字段输入"<email>"
那么点击注册按钮
例子:
#data_source: ..\data.csv
链接示例表展示的表格视图只是便于观察表格内容,而无法直接在CukeTest中编辑,只有打开原文件进行编辑。如果外部表格文件进行了修改,可以右击链接示例表刷新视图来更新显示。
您会注意到,链接示例行以带注释的“data_source”语句开头,然后是冒号,然后是文件路径。 文件路径可以是文件的绝对路径,也可以是相对于此剧本文件的相对路径。
注意:文件路径的分隔符与平台的兼容性。例如您如果用“/”作为路径的分隔,可以在所有平台适用,但如果用了反斜杠“\”,如“..\data.csv”,则只能在Windows平台下工作。
与文档字符串、步骤表的组合
在文档字符串和步骤表中,也可以使用<paramName>
的格式指定参数,比如下面这个场景大纲:
场景大纲: 包含文档字符串和数据表的场景大纲
假如使用文档字符串
"""
<text>
"""
当使用数据表
| id | value |
| 1 | <data> |
例子:
| text | data |
| 一串文本字符串 | 一些表格值 |
| 另一串文本字符串 | 另一些表格值 |
Example键盘导航
当示例表处于编辑模式时,您可以使用键盘在单元格之间进行导航。要移至下一个表格单元格,可以按Enter键或Tab键。要移至上一个表格单元格,可以按Shift-Enter
或Shift-Tab
键。