Не удается найти ссылку с Capybara в rails

#ruby-on-rails #ruby-on-rails-4 #capybara #poltergeist

#ruby-on-rails #ruby-on-rails-4 #capybara #полтергейст

Вопрос:

Я пытаюсь протестировать код с асинхронным javascript, и мой тест время от времени терпит неудачу.

 scenario 'User can delete his comment', js: true do
  within('.answer') do
    click_link 'Comments (0)'
    find_link('Add Comment').click
    fill_in 'comment[content]', with: 'MyComment'
    click_on 'Post comment'
  end

  within('.comment') do
    click_link 'Delete'
  end

  expect(page).to have_text('Your comment has been deleted.')
end
  

Сообщение об ошибке:

 Capybara::ElementNotFound:
  Unable to find link "Add Comment"
  

Как я понимаю, find_link метод имеет встроенную функцию ожидания. В чем моя ошибка?

Я использую poltergeist в качестве драйвера js, и моя конфигурация:

 Capybara.javascript_driver = :poltergeist
Capybara.default_max_wait_time = 10

options = { js_errors: false }
Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, options)
end
  

Комментарии:

1. click_link идентичен find_link(…).нажмите, чтобы не использовать вторую форму. Если тест периодически завершается неудачно, и первый щелчок вызывает запрос, проверьте свой журнал тестов, чтобы узнать, что отправляется. Если тест всегда завершается неудачно, проверьте регистр текста ссылки на вашей странице

2. @Tom, большое спасибо за помощь!