[英]Rspec fails when it needs to open up a popup on click function in Ruby on Rails
在我的应用程序中,当我单击href(超链接)时,弹出窗口应打开并测试功能。 在链接发生点击事件的所有地方,所有Rspecs测试用例均无法打开模式窗口。 我正在使用以下宝石。 我正在docker -Centos映像中运行Rspecs。 它工作得很早。 我们在应用程序中进行了很少的更改,例如添加了少量CSS。 完成这些更改后,所有onclick Rspecs都将失败。 有人可以帮忙吗? Ruby版本是2.3
rspec-expectations 3.4.0
rspec-mocks 3.4.1
rspec 3.4.0
rspec-rails 3.4.2
rspec_junit_formatter 0.2.3
selenium-webdriver 3.9.0
capybara 2.7.1
rails 4.2.6
链接的示例HTML代码
<%= link_to 'Contact Us', '/contactus', {:id=> 'submit', :remote => true, 'data-toggle' => "modal", 'data-target' => '#contactusId', :class=>'btn btn-default'}
样本Rspec
require 'rails_helper'
require 'capybara/rspec'
RSpec.feature 'Contact Us - 'do
scenario 'create a simple contact request after login with logged in users email id and name' do
visit '/signin'
do_login 'test', 'test'
sleep 5
click_link('Contact Us', visible: true)
fill_contact_us_form 'a','b','c','8056286205','From Rspec'
click_on 'Send Email'
expect(page).to have_content("Your request has been submitted")
end
def fill_contact_us_form(name, companyname, emailid,contactNumber,notes)
if(name!=nil)
fill_in 'contact_us_name', :with => name
end
fill_in 'contact_us_company_name', :with => companyname
if(emailid!=nil)
fill_in 'contact_us_email_id', :with => emailid
end
if(contactNumber!=nil)
fill_in 'contact_us_contact_number', :with => contactNumber
end
if(contactNumber!=nil)
fill_in 'contact_us_notes', :with => notes
end
end
错误
Contact Us - create a simple contact request after login with logged in users email id and name
Failure/Error: fill_in 'contact_us_company_name', :with => companyname
Capybara::ElementNotFound:
Unable to find field "contact_us_company_name"
可能有几种因素导致故障。 您应该检查以下内容:
fill_in
将尝试匹配具有名称,ID或标签contact_us_company_name的输入 Capybara.max_wait_time_out
花费更长的时间,因此您应该设置:wait
选项 fill_in
文档可以在这里找到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.