Я пытаюсь перенести набор тестов селена на capybara-webkit. Приложение Rails имеет приложение angular, встроенное в представления rails, и ведет себя не так, как ожидалось, с webkit
.
Такой тест:
требуется 'spec_helper'
feature 'Editing company profiles' do
before do
@user = create(:employee)
@company = Company.find(@user.employer.id)
sign_in_as! @user
end
scenario 'successfully', js: true do
click_link 'Dashboard'
click_link @company.name
click_button 'Edit'
fill_in 'company_name', with: 'new name'
click_button 'Save'
expect(page).to have_content "Your company profile has been updated!"
end
end
Пройдет без проблем в селене, но с webkit
я получаю сообщение об ошибке
Failure/Error: Unable to find matching line from backtrace
ActionController::ParameterMissing:
param is missing or the value is empty: company
# ./app/controllers/api/v1/companies_controller.rb:23:in `company_params'
# ./app/controllers/api/v1/companies_controller.rb:10:in `update'
Трассировка отсутствует, возможно, из-за того, что она из угловой земли, но ошибка сообщает, что от клиента не поступают параметры. Я пробовал гем capybara-angular
, но это не помогло. Я также попытался сохранить страницу с капибарой, и там ничего не выглядит неуместным, есть ли какие-либо способы получить доступ к запросу PATCH
внутри webkit, который создается в этом тесте? Я также получил подобные ошибки с poltergeist
.
Кто-нибудь настраивал безголовое тестирование rspec с помощью angular + rails? Любые советы о том, как отладить, почему данные не отправляются от клиента?