如何在多种情况下一次调用@after?

How can I invoke @after once for many scenarios?

我使用 java 在 cucumber/selenium 中编写了不同的测试场景,通常我 运行 使用这样的标签从不同的功能文件进行测试 mvn 测试 -Dcucumber.options="src/test/resources/step_definitions --tags @Tagname"

我想做的是在我所有标记的测试 运行 之后关闭浏览器实例。 我怎样才能做到这一点? @AfterSuit 没有帮助。

您可以使用 cucumber 的@After 来关闭您的浏览器实例。在任何步骤定义中的方法上使用标记 class。这将在每个场景执行后触发。 如果您使用的是在单个浏览器中运行所有场景的共享网络驱动程序,那么这将不起作用,因为它会在每个场景后关闭浏览器。

在这种情况下,您需要向共享网络驱动程序添加一个关闭挂钩 class,这将在 JVM 存在时将其关闭。