2015-01-06 2 views
4

셀레늄 테스트 슈트를 capybara-webkit으로 이식하려고합니다. Rails 앱에는 레일 뷰에 앵귤러 앱이 포함되어 있으며 webkit으로 예상대로 작동하지 않습니다. 이 같은Capybara 웹킷이 각도에서 매개 변수를 전달하지 않습니다.

테스트 :

가 '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 보석을 시도했지만 도움이되지 않았습니다. 또한 capybara로 페이지를 저장해 봤는데 아무 것도 보이지 않습니다.이 테스트에서 생성되는 웹킷 내부의 PATCH 요청에 액세스 할 수있는 방법이 있습니까? poltergeist (으)로 유사한 오류가 발생했습니다.

각도 + 레일을 사용하여 헤드리스 rspec 테스트를 설정 한 사람이 있습니까? 데이터가 클라이언트에서 전송되지 않는 이유를 디버깅하는 방법에 대한 팁

+0

저는 레일 앵글 응용 프로그램에서 Capybara 및 WebKit에 대한 경험이 있습니다. 일부 테스트는 셀레늄 없이는 작동하지 않지만, 한 번 살펴 보겠습니다. 이 테스트에서 AngularJS 템플릿과 컨트롤러를 게시 할 수 있습니까? – eabraham

답변

8

모든 코드를 보지 않고도 capybara-webkit gemknown issue과 관련된 문제 일 수 있습니다. 이는 서버에 엔터티 본문을 전달할 수 없습니다.

업데이트 요청이 PATCH 요청으로 전송 된 것으로 판단됩니다 (해당 사항). 보석과 관련된 문제로 인해 테스트에 실패하게됩니다.

문제의 해결 방법은 요청 방법을 PUT 또는 POST으로 변경하는 것입니다. 위의 링크 된 문제는 몇 가지 옵션을 보여줍니다. 시험을 통과 할 수는 있지만, 시험 유형을 변경하면 시험을 통과 할 가치가 있는지 여부는 귀하가 결정할 것입니다.

주 : 실제로은 당신이 기술적으로 (의 일부를 )를 사용할 수 있기 때문에 실제로 상호 교환, 다른 HTTP 메소드를 PATCH를 사용하지 않는 경우 문제가되지 않을 수 있습니다 -하지만 사용하는 이유가 있기 때문에주의를 지정된 상황에 대한 특정 http 메소드. 몇 가지 세부 정보는 rubyonrails.org 게시물을 참조하십시오.

+2

이것이 정확한 문제입니다. 제 각도 서비스가'patch'를 사용하고'put'으로 전환하고 올바르게 params를 전달합니다. 그것이 나를 허용 할 때 5 시간 만에 현상금을 수여합니다. – user2936314

+0

나는 카피 바라와 함께 사용하는 phantomjs와 폴터 테이스트와 같은 문제를 겪고 있습니다. 유령원과 폴터 지스트와 같은 문제입니까? –

관련 문제