在 CukeTest 最新版 1.6.0 中更新了一个新功能——链接示例表,能够将外部维护的测试用例数据文件直接链接到示例表中使用。
了解行为驱动(BDD)或Cucumber的同学都知道,长久以来,Cucumber里面的场景大纲可以通过内嵌的数据表来驱动。这也意味着每次修改数据需要手动编辑feature文件,改动示例表的数据。在持续集成越来越普及的今天,很多用户倾向于将数据独立维护。因此原来内嵌feature文件的方式会有使用上的不便。上述的新功能是针对BDD/Cucumber的重要革新,解决了数据维护使用上的问题。
同时它的出现使得场景大纲这一自动化测试常用的概念获得了更广泛的能力——使用动态数据驱动自动化操作:当你需要增删自动化操作时,只需要修改外部的表格文件即可,无需修改任何代码或feature文件。
那么首先让我们简单了解一下链接示例表在测试用例方面的应用,然后再来了解如何使用链接示例表的自动化操作管理能力吧!
示例表如何作用于测试
示例表是场景大纲的数据部分,由于场景大纲适合用于这样的场景:测试中需要大量同样的操作来验证在被测应用中的结果是否正确。比如针对登录、注册界面的后端校验数据。这样的场景如果使用常规的场景和步骤来实现,需要写非常多重复的内容,维护起来也相当的费力。以一个简单的加法场景说明,将加号两边的数字以及预期加法结果放到示例表中,代码中计算两数之和,再与预期结果相比较。那么示例表呈现如下效果:
而其对应的场景大纲定义如下:
在项目运行时,表中的每一行数据都会作为参数与场景大纲组合成一个场景,比如以上示例表中共有三行数据,运行时就会解析为三个场景来运行,部分报告截图如下:
运行结果中有一个场景发生了错误,是因为示例表中第三行本身的数据就是无法通过测试的,即反面用例。