我有一个功能可以在 prod 服务器上运行 prod 测试。其标记为@prod。我还有其他可以在测试环境中运行的非标记测试。
在 env.rb 我有一个 Before do .. 结束,它打开一个新的浏览器并设置测试以在测试环境中运行。我还有一个 Before('@prod') 块,用于设置测试助手以在 prod 帐户中运行。
当我使用 cucumber --tags @prod 仅运行 prod 测试时,它会运行 prod 测试。我希望只有 Before('@prod') 运行。但是我看到 env.rb 文件中的两个 BEfore 块都在运行,创建了 2 个新的浏览器实例并在第二个浏览器窗口中运行了 prod 测试。当我的 7 个场景套件完成后,我有 7 个空白的打开浏览器窗口,我的测试工具设置来自未标记的 Before。
给定任何有效的测试商家帐户 # features/step_definitions/ConsumerPortal.rb:1 我们很简单 之前 我们在 @prod 之前 以“pos”用户身份登录 pos 门户网站之前
我看到 After 标记注销和关闭浏览器也发生了同样的情况。标记的一个首先运行,然后是普通的 After 标记。如果我可以在我的 env.rb 之前读取测试的标签,我可以进行相应的设置。有办法做到这一点吗?