Capybara没有正确填写某些字段

时间:2015-11-07 19:13:37

标签: ruby-on-rails selenium rspec capybara

我开始使用capybara来测试我的rails应用程序,但现在我遇到了问题。

水豚有时只会填写两个字段的内容,从而产生错误。这是以随机的方式发生的,我不知道如何预防它。

例如,下面的图片应该有"新的水豚派对"在第一个领域," Lorem ipsum dolor sit amet"在第二个,但正如你所看到的那样,充满了不好。

This image explains the problem
enter image description here

我使用rspec与水豚和硒。以下代码:

context 'User is logged in' do
  it 'creates a party' do
    click_link "Have a party"
    within("#new-party-modal") do
      fill_in 'party_title', with: 'New capybara party'
      fill_in 'party_description', with: 'Lorem ipsum dolor sit amet'
      fill_in 'party_venue', with: '1392 7th Avenue, San Francisco, California, Estados Unidos'
      fill_in 'party_phone', with: '9106156667'
      fill_in 'party_starts_at', with: DateTime.now+5.days
      click_button 'Continue to step 2'
    end
  end
end

谢谢!

2 个答案:

答案 0 :(得分:0)

查看屏幕截图,我怀疑问题与定位器有关。由于fille_in使用了name,id或label文本,因此您需要非常小心它们的唯一性。因此,请确保 textarea title 元素的选择器不重叠。

答案 1 :(得分:0)

我有一个类似的案例,但我的表格有一个javascript,在他们失去焦点后保存了它们所以我只是

page.driver.browser.execute_script('$("your_field").trigger("submit.rails")')
每次填充后

希望它有所帮助。