Nie*_*els 2 javascript testing ruby-on-rails cucumber twitter-bootstrap
我正在写一个黄瓜功能,我想删除一个类别,但在删除它之前,我会显示一个模态屏幕,询问用户的构造.
我正在使用twitter bootstrap并使用他们提供的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
Run Code Online (Sandbox Code Playgroud)
我已经实现了必要的步骤,该功能当然接受了最后一个.但我不知道如何开始:
我读了一些关于page.driver.browser.switch_to.alert的内容,但如果可以的话,现在不要.
有人有什么建议吗?
非常感谢.
正如您在问题中所建议的那样,您可以使用Selenium驱动程序访问该对话框.我假设你正在使用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
Run Code Online (Sandbox Code Playgroud)
编辑:似乎模态实际上不是一个窗口...让我们这样尝试:
创建一个辅助函数来检测模态元素是否在:
def find_modal_element
wait_until { page.find(modal_element_id).visible? }
end
Run Code Online (Sandbox Code Playgroud)
然后让我们改变步骤定义:
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
Run Code Online (Sandbox Code Playgroud)