我的水豚测试包括以下几行:
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>
答案 0 :(得分:0)
我从selenium webdriver更改为capybara-webkit,问题不再发生。