【发布时间】:2019-12-04 18:24:11
【问题描述】:
完全透明,我真的不知道我在 maven 周围的方式。我使用 cucumber 创建了一个自动化测试套件,并通过 maven 命令运行所有测试,例如下面是最简单的一个
mvn clean verify -Dcucumber.options="--tags '@TestTag'"
上面将运行所有带有@TestTag 标签的黄瓜测试。并行运行,其他一切运行良好。但是,我希望有一个用户界面,我可以在其中传递标签参数以及我作为属性添加到 pom 中的其他项目(例如-Dnumber.of.devices=2, -Dtype.of.run=fragmented)。
类似于列出我所有可用标签的下拉列表,将其标记为分布式/碎片的开关,用于设置要运行的设备数量的下拉列表。目前,我正在为每次运行手动创建每个 maven 命令,并在必要时将它们保存到 Intellij 配置。但是有没有什么工具可以让我只添加我关心的参数,它会运行命令并将这些参数添加到我的mvn clean verify 命令中?
类似
mvn clean verify -Dnumber.of.devices=<NUMBER_ENTRY> -Dtype.of.run=<FRAGMENTED_OR_DISTRIBUTED> -Dcucumber.options="--tags '<CUCUMBER_TAGS>'"
我已经注意到这些属性将如何确定我想要的运行类型。
我原以为会有这样的东西存在,但找不到任何东西。我完全知道我在问什么是荒谬/愚蠢的。无论如何,如果有人可以为我指出某事或提供建议,为什么这不是一件事,我将非常感激。
谢谢
【问题讨论】:
-
为什么你需要这么多参数来运行你的默认测试设置?应该是
mvn clean verify...如果我正确地看到您的 pom 文件中的默认值没有被明智地决定...我想到的是:为什么您需要如此不同的配置来运行您的测试?它应该总是一样的吗?否则你的构建是不可重现的,因为它取决于你给出的参数? ... -
我有不同的设置,因为有时我想跨设备分发测试以加快运行速度,有时我需要在每台设备上运行整个套件,以获得更大的设备覆盖率。另外,我经常更换标签。如果我想包括登录测试、注册测试、运行冒烟测试,我有标签来表明这一点。我选择运行的设备数量也不同,我选择的设备数量表示threadCount。
-
现在认为 Jenkins 是正确的方法。