Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 测试在selenium中工作,但不使用默认驱动程序_Ruby On Rails_Capybara - Fatal编程技术网

Ruby on rails 测试在selenium中工作,但不使用默认驱动程序

Ruby on rails 测试在selenium中工作,但不使用默认驱动程序,ruby-on-rails,capybara,Ruby On Rails,Capybara,我有这个测试 feature 'edit company', :js=>true do scenario 'edit company' do visit '/companies' page.has_content? company.name find('#edit_company_btn_1').click ... 这是没有问题的。但是当我删除:js=>true部分时,我得到了以下错误: Failure/Error: find('#update_btn_co

我有这个测试

feature 'edit company', :js=>true do
  scenario 'edit company' do
    visit '/companies'
    page.has_content? company.name
    find('#edit_company_btn_1').click
...
这是没有问题的。但是当我删除:js=>true部分时,我得到了以下错误:

 Failure/Error: find('#update_btn_company').click
 NoMethodError:
   undefined method `start_with?' for nil:NilClass

为什么这与一个驱动程序协同工作,而与另一个驱动程序协同工作?

如果您的场景需要JavaScript,那么您需要使用支持JavaScript的Selenium(因此
:js=>true
)。如果你的页面使用的是JavaScript,而你使用的是默认的web驱动程序,那么就没有JS支持,所以它会失败。但是,该页面不需要任何javascript。。。他说他找不到更新公司(返回零),但它确实找到了。