上个月的某个时候(2013 年 6 月),我们的几个 Capybara 测试开始失败,主要是因为他们试图点击的按钮不在视图中。理想情况下,我想弄清楚发生了什么变化。我们目前使用的是 selenium-webdriver 2.33,但我已经尝试回到 2.29,但它仍然无法正常工作。我们目前只针对 Firefox,这可能是由于 Firefox 的更新版本。
除此之外,我不知道如何将按钮滚动到视图中。根据我收集的信息,我可以使用 scrollIntoView 但不确定如何在 Capybara 步骤中调用它。我尝试了以下变化:
Capybara.current_session.driver.execute_script("arguments[0].scrollIntoView(true;)", find_button(button).native)
但是没有运气,因为 find_button 本身不起作用。
注意:我们是根据按钮的文本进行选择的。基于 ID 进行选择是可能的,但需要对我们的 UI 测试进行大量更改,因此我们希望避免它。