0

我使用 Serenity (Thucydides) + Cucumber 在 Chrome 浏览器中测试 Web 应用程序。我想验证页面上是否存在某些元素。

Scenario Outline: Should see six tabs on the page
    When I am on MainPage page
    Then I should see the following <tab> as tab:
    Examples:
      | tab         |
      | Tab_1       |
      | Tab_2       |
      | Tab_3       |
      | Tab_4       |

我成功验证了第一个选项卡,但在第一次迭代后重新加载页面时无法验证其他选项卡。如何保持在同一页面上?在我的情况下可以管理吗?

4

2 回答 2

0

场景大纲为每个示例元素创建一个单独的场景。您需要一个查找选项卡的单一方案。

更好的编写方法是命名选项卡,例如 foo-tabs 然后编写

Scenario: See foo tabs on main page
  When I am on the main page
  Then I should see foo tabs

并在您的步骤定义中进行编程以查找选项卡,例如

Then "should see foo tabs" do
  foo_tabs.each do |tab|
    expect(page).to have # do something with the tab here
  end
end

(上面是ruby'ish代码,不过你应该能适应java)

现在您将有一个场景,并且如果您添加/删除一个选项卡,您将不必更改您的功能。

于 2015-05-19T16:35:35.480 回答
0

我错误地使用了之前的夹具。我已经通过设置 Global Hook BeforeAll 解决了这个问题。

于 2015-05-20T13:17:39.530 回答