2016-05-05 22 views
0

私はrspec + capybara + poltergeistを使用しています。ホバーをシミュレートしようとすると、要素をクリックするとエラーが表示されます。ホバーの後ろからクリックを削除してもエラーは発生しないので、問題を一緒に使用することが必要です。capybara機能仕様ホバー+クリック

どうすればこの作品を作成できますか?

scenario "successfully", js: true do 
    sign_in(user) 
    visit root_path 
    within "#postcomment-#{post_comment.id}" do 
    page.find(".post-comment-body").hover.find("#activate-comment-edit-#{post_comment.id}").click 
    end 
    .... 


error: 
1) updating post successfully 
Failure/Error: page.find(".post-comment-body").hover.find("#activate-comment-edit-#{post_comment.id}").click 

NoMethodError: 
    undefined method `click' for #<Enumerator:0x007fe255dd4b10> 
+0

を維持します。私はホバーとクリックイベントを意味する – Jeet

答えて

1

#hoverは、呼び出された要素を返しません。このため、あなたは

within "#postcomment-#{post_comment.id}" do 
    body = page.find(".post-comment-body") 
    body.hover 
    body.find("#activate-comment-edit-#{post_comment.id}").click 
end 

のように見つけるの要素を保存するか、またはそれを1行あなたは両方のための個別の呼び出しを行う必要があり

within "#postcomment-#{post_comment.id}" do 
    page.find(".post-comment-body").tap(&:hover).find("#activate-comment-edit-#{post_comment.id}").click 
end 
関連する問題