Tags 在无标记的钩子之前/之后运行标记测试

Tags 在无标记的钩子之前/之后运行标记测试,tags,cucumber,hook,Tags,Cucumber,Hook,我有一个功能,可以在prod服务器上运行prod测试。它的taged@prod.I还有其他可以在测试环境中运行的未标记测试 在env.rb中,我有一个Before do。。结束,打开新浏览器并设置要在测试环境中运行的测试。我还有一个Before('@prod')块,用于设置要在prod帐户中运行的测试助手 当我使用cumber--tags@prod运行prod测试时,它运行prod测试。我希望只运行Before('@prod')。但是,我看到env.rb文件中的BEfore块都在运行,创建了两个

我有一个功能,可以在prod服务器上运行prod测试。它的taged@prod.I还有其他可以在测试环境中运行的未标记测试

在env.rb中,我有一个Before do。。结束,打开新浏览器并设置要在测试环境中运行的测试。我还有一个Before('@prod')块,用于设置要在prod帐户中运行的测试助手

当我使用cumber--tags@prod运行prod测试时,它运行prod测试。我希望只运行Before('@prod')。但是,我看到env.rb文件中的BEfore块都在运行,创建了两个新的浏览器实例,prod test在第二个浏览器窗口中运行。当我的7个场景套件完成后,我有7个空白的打开的浏览器窗口,我的测试工具设置以前没有标记

给定任何有效的测试商户帐户#功能/步骤定义/ConsumerPortal.rb:1 我们以前在平原上 我们以前在@prod 以“pos”用户身份登录pos门户时


我看到同样的情况发生在After标记注销和关闭浏览器。先运行标记的一个,然后在标记后运行普通。如果我可以读取测试之前在env.rb中的标记,我可以相应地进行设置。tehre是这样做的吗?

将否定标记与before标记一起使用

@Before("~@prod")
@After("~@prod")
这将阻止所有@prod标记的Before和After标记运行

或者一般来说,所有@Before和@After方法都会对任何标记运行