轨道上的红宝石 - 水豚 + Selenium:save_and_open_page显示按钮,但水豚找不到它



我的水豚测试包括以下几行:

click_button "SHARE"
fill_in 'Email Address', :with => @user_two.email
save_and_open_page
click_button 'CONFIRM'

"共享"按钮将使模式可见。填写此模式的电子邮件地址文本框似乎可以顺利进行,但是我收到按钮的以下错误

 Capybara::ElementNotFound:
   Unable to find button "CONFIRM"

但是,当我save_and_open_page时,该按钮是可见的。

我试过切换到

page.find("#id-of-button").click

但水豚也找不到。

有趣的是,save_and_open_page向我展示了一个页面,其中尚未填写电子邮件字段。

我想我可能错过了一些关于save_and_open_page如何工作的基本知识,因为如果这是 Capybara 看到的全部页面,那么这些错误对我来说毫无意义......

编辑:模式视图代码

.title.aaux
  Title
.content
  .line-separator
  #intro
    Enter Email:
  = form_for(patient, url: {controller: "dashboard/patients", action: "share_with_user"}, method: :post, html: {id: "share-patient-form"}) do |f|
    %fieldset.bordered
      = f.text_field :share_user_email, placeholder: "Email Address", class: "aaux form-control"
  .line-separator
  #button-row
    %button.btn.btn-success.aaux.pull-right#confirm-share-patient{type: "submit"}
      CONFIRM
    %button.btn.btn-cancel.aaux.pull-right#close-modal-share-patient
      CANCEL

编辑:为按钮生成的源代码

<button type="submit" id="confirm-share-patient-button" class="btn btn-success aaux pull-right">
CONFIRM
</button>

我从Selenium webdrive更改为capybara-webkit,问题不再发生。

相关内容

  • 没有找到相关文章

最新更新