2

如果我想删除一个类别,我正在编写一个黄瓜功能,但在我删除它之前,我会显示一个模态屏幕来询问用户他的构象。

我正在使用 twitter 引导程序并使用他们提供的 javscript 模式。

但是我被困住了,所以任何人都可以直接帮助我如何测试它。到目前为止,这是我的功能:

  Scenario: Delete category with articles
   Given I am logged in as an admin
   And I have category titled Paints
   When I go to the list of categories
   And I push delete button for the Paints category
   Then I should get a popup to confirm

我已经实现了该功能的必要步骤,当然接受最后一个。但我不知道如何开始:

我读了一些关于 page.driver.browser.switch_to.alert 的内容,但如果可以的话,现在就不要了。

有人有什么建议吗?

非常感谢。

4

1 回答 1

7

正如您在问题中建议的那样,您可以使用Selenium Driver访问对话框。我假设您使用的是 Capybara,因此您可以通过以下方式定义您的步骤定义以接受/取消弹出窗口:

Then /^I accept the popup to confirm$/
  page.driver.browser.switch_to.alert.accept 
end

Then /^I cancel the popup to confirm$/
 page.driver.browser.switch_to.alert.dismiss
end

编辑:看起来模态实际上不是一个窗口......让我们试试这样:

创建一个辅助函数来检测模态元素是否在附近:

def find_modal_element
  wait_until { page.find(modal_element_id).visible? }
end

然后让我们更改步骤定义:

Then /^I should see a popup window$/
 find_modal_element
 page.find(modal_element_id).text.must_match "Whatever you want it to match"
end
于 2012-06-16T15:21:02.377 回答