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


88

나는 이것을 가지고있다:

<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로 어떻게 채우나요?

답변:


126

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

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

9
그렇게 생각했지만 작동하지 않습니다. 채워지지 않는 것 같습니다. 찾을 수 없다는 오류는 없습니다. 그것은 그것을 채우지 않습니다.
Nerian

문제의 카피 바라 코드 및 기타 관련 코드를 포함 할 수 있습니다.
raidfive

나는 Mongoid에서 문제를 발견했습니다. 릴리스 후보 버그.
Nerian

@Nerian 아! 알아 내
셔서

해결책이 있습니까?
Zakos

32

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

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

7

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


4

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 요구 사항을 충족 할 수 있습니다. 도움이 되었기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.