[rspec] Capybara : ID로 입력 필드를 채우는 방법

나는 이것을 가지고있다:

<input class="string optional" 
    id="course_group_courses_attributes_2_name"
    name="course_group[courses_attributes][2][name]"
    placeholder="Lengua"
    size="15"
    type="text" />
</div>

해당 필드를 ID로 어떻게 채우나요?



답변

fill_in ID를 첫 번째 매개 변수로 허용합니다.

fill_in 'course_group_courses_attributes_2_name', :with => 'some text'


답변

다음과 같이 할 수도 있습니다.

find('Id or class here').set('some text')


답변

fill_in처음에 혼란스러워하는 # 기호없이 id를 허용합니다. 또한 입력 필드가 모달 인 경우 전환을 기다리거나 필드를 채우기 전에 페이드 인해 야 할 수도 있습니다.


답변

simple_form gem을 사용하는 경우 양식 요소를 자동으로 식별 하므로 수동으로 요소를 식별하는 것은 쓸모가 없습니다!

있다; 그러나 simple_form이 id 양식 요소에 따르는 명명 규칙입니다.

object_attribute

따라서 다음과 같이 연락처 개체에 대한 정보를 입력하는 경우 :

= simple_form_for @contact do |f|
  = f.input :first_name
  = f.input :last_name

그런 다음 simple_form은 각 양식 요소에 대해 각각 자동으로 ID를 생성합니다.

id="contact_first_name"
id="contact_last_name"

이제이 명명 규칙을 사용하여 모든 fill_in 요구 사항을 충족 할 수 있습니다. 도움이 되었기를 바랍니다.


답변