확인란을 선택해야하는 곳과 Capybara가 상자를 체크하지 않는 이유에 상관없이 기능 테스트를 만들려고합니다.Capybara가 rspec 기능 테스트에서 체크 박스를 선택하지 않았습니다
내가 사용하고 :
RSpec에 : 3.0.4 및 카피 바라 : 내가보기의 스냅 샷을 인쇄 2.4.1
, 체크 박스가 선택되어 있지 않습니다.
pry에서 checkbox 코드를 실행하면 "checked"라는 문자열이 반환되지만 스냅 샷을 인쇄하면 확인란이 선택되지 않고 테스트가 통과되지 않습니다. 이 체크 박스를 확인하는 또 다른 방법이 있는지 궁금합니다. 여기
지금까지 내 현재 코드 :기능 테스트 : 매크로
background do
discussion_group
@user2 = FactoryGirl.create(:user)
add_user_to_user_role_for_group(group, @user2)
admin_login
add_user_to_admin_role_for_group(group, @user)
visit groups_path
click_on 'Email Group'
end
scenario 'sending a valid email' do
valid_form
expect(page).to have_content group_email_success_notification
expect_count_of_deliveries_to_be 1
end
:
def valid_form
fill_in 'group_email_subject', with: new_text
fill_in 'group_email_body', with: Faker::Lorem.words(200).join("\s")
check "group_email_#{@user2.id}_"
click_on "Send Email"
end
내 테스트의 출력은 내가 1 사용자가 선택한 의미를 가지고해야한다는 것입니다 그 나는 사용자를 확인하지 않았다. 콘솔의 체크 라인을 실행하면 다음과 같습니다.
[10] check('group_email_10_')
=> "checked"
모든 도움을 주시면 감사하겠습니다.
내가있어 page.check를 사용하여 시도 및 않았다 = "강아지 [gooddog]"값 = "예"
page.check ('puppy_gooddog') 또는 page.check ('[gooddog] 강아지')의 이름 같은 결과. 이름을 사용하면 모든 확인란의 이름이 모두 동일하기 때문에 모호한 오류가 발생합니다. 최종 결과는 모든 체크 박스는 코드에서 사용할 배열입니다. 이것이 파이어 폭스와 셀레늄 웹 드라이버의 문제가 될지 궁금하다. 최근 파이어 폭스 업그레이드 셀레늄 웹 드라이버가 호환되지 않는 것 같아서 다운 그레이드를하고 내가 말할 수있는 것에서 꼭 필요한 것은 아닙니다. – Vell