多种执行方式

CukeTest的可视化界面使你能够以多种方式运行您的项目或你的部分脚本:

  1. 项目级别
    1. 运行整个项目(即默认配置文件)
    2. 运行某个项目配置文件
    3. 按照运行序列运行剧本
  2. 剧本级别
    1. 运行整个剧本
  3. 场景级别
    1. 运行整个场景
    2. 运行单个步骤
  4. 场景大纲级别
    1. 运行整个场景大纲
    2. 使用单行数据运行场景大纲
    3. 使用单行数据运行场景大纲中的某个步骤
  5. 标签级别
    1. 运行满足标签表达式的剧本
    2. 运行满足标签表达式的场景
    3. 使用满足标签表达式的示例表运行场景大纲
  6. 脚本级别
    1. 运行脚本文件

下图显示执行的按钮所在位置:

执行概述 - 图1

此外,CukeTest还提供了通过命令行执行的方式,相关内容请查看命令行界面

项目级别

运行整个项目

在工具栏上,你可以点击"运行项目"按钮来运行整个Cucumber脚本项目。在CukeTest界面中运行项目,缺省的会生成html格式的报表,报表会在运行结束后打开。如果通过命令行运行项目,即在命令行运行简单的”cuketest —run”命令,则只会以文本格式输出报表到命令行界面。

运行某个项目配置文件

你可以为你的项目设定多个配置文件,以自定义方式运行Cucumber项目,例如通过标签过滤场景,设定浏览器,报表输出目录等。然后你只需点击配置文件运行它。查看配置文件编辑了解更多信息。

注意:只有运行整个项目,或是运行某个项目配置文件才会生成报告文件,其他级别的运行只会在输出面板生成运行输出内容。

按照运行序列运行剧本

由于运行项目时默认按照剧本文件的文件名顺序执行所有剧本,但是可以在项目运行配置文件中指定以什么样的顺序运行那些剧本,这就是运行配置中的运行序列设置,详细的可以查看运行序列设置

剧本级别

运行单个剧本文件

可视模式下,你可以在剧本标题旁找到“运行”箭头按钮。 点击它将只运行这个剧本文件。

场景级别

运行单个场景

可视模式下,你可以在每个场景旁边找到“运行”按钮。点击它将只运行这个场景。

单步运行

一个场景中有多个步骤,有时为了调试,你需要只运行其中的某个步骤。这时你可以右击该步骤,在弹出的步骤工具条中点击“运行这一步”:

执行概述 - 图2

注意:并非所有场景都适合单步运行,有些自动化操作依赖前面步骤创建的环境。因此仅在条件具备的情况下执行这一操作。

场景大纲级别

场景大纲(Outline Scenario)可以视作一种特殊的场景,它运行时会将的示例表中的每行数据解析为单独的一个场景,因此除了单步运行外场景大纲还可以单行数据运行。为了实现单步/单行数据运行,需要先选中要运行的目标示例表数据行,再点击运行按钮。

运行整个场景大纲

点击场景大纲右上角的运行按钮,可以直接运行整个场景大纲。通常运行结果中会显示有多个场景被运行,这些场景都是从示例表中解析出来的场景,也就是说示例表有多少行就会生成多少个场景。

使用单行数据运行场景大纲

点击示例表中的数据,该行数据会被高亮,此时“运行场景大纲”的按钮会变为“运行选中的数据”,这时运行就只会有一个场景的结果,正是由该行数据解析出来的场景。

使用单行数据运行场景大纲中的某个步骤

既然可以使用单行数据运行场景,自然也可以单步运行某一行数据——选中示例表中的数据后,右击场景大纲中的步骤,点击“运行这一步”就可以使用该行数据单步运行了。

标签级别

运行标签过滤的场景

点击“视图”=> “标签过滤”菜单,会显示一个过滤框,输入标签就可以过滤剧本文件中匹配标签的场景。点击搜索框边上的运行箭头按钮,就可以运行这些场景。

执行概述 - 图3

运行满足标签表达式的剧本

剧本也可以添加标签,等效于为剧本中的所有场景/背景/场景大纲添加了标签。

使用满足标签表达式的示例表运行场景大纲

示例表也可以添加标签,这样可以通过指定标签表达式来运行满足条件的示例表,好处在于可以将各种示例表在同一个剧本文件中一起维护不会发生冲突。

脚本级别

只运行JavaScript文件

用户可以打开一个JavaScript文件并直接运行这个文件,效果等同于使用命令node your_file.js执行它一样。用这个功能,你可以方便地从一个简单的JavaScript文件开始一个测试脚本的开发,或将它用于调试目的。请注意,如果在编辑器中同时打开了剧本文件和JavaScript文件,则只能运行剧本文件。要运行JavaScript文件,可以在右上角的切换视图的按钮中选择“只显示脚本列”切换到脚本视图;或关闭所有剧本文件,也会自动的切换到脚本视图。

执行概述 - 图4

运行项目中途停止情况

如果在项目运行过程中强制退出,根据不同的情况你可能可以得到部分的报表结果:

  • html报表格式,界面运行:如果在界面中运行整个项目,在项目执行完之前点击停止按钮,运行将停止,同时仍旧会打开生成的html报表,报表中会显示已经执行完毕的场景,如果没有执行完任何场景,则不会生成和显示html报表。
  • html报表格式,命令行运行:如果通过命令行运行,并指定生成html格式的报表。如果中途强制退出了,你只能得到以*.json.log为后缀的临时文件,如果要生成html报表,可以在CukeTest中的文件浏览器面板中在这个文件上点右键,选择”生成Html报表”,会生成并打开这个html报表。
    执行概述 - 图5
  • json报表格式: json格式的报表只有在正常执行退出后才会生成,中途强制退出则不会有报表文件