Capybara에서 탭이 포함 된 텍스트로 필드를 채우는 방법은 무엇입니까?

아우렐 리안

각 시나리오는 파일의 샘플을 읽고 텍스트 필드에 복사합니다.

def sample(name)
  IO.read("spec/samples/#{name}.bib")
end

feature 'Import a record' do

  scenario 'from JabRef' do
    fill_in 'bibtex', :with => sample('jabref')
    in_dialog.click_button 'Import'
    ...
  end

end

이것은 샘플 중 하나에 표가있을 때까지 잘 작동했습니다. 수동 복사 및 붙여 넣기는 작동했지만 테스트는 실패했습니다.

다른 질문 [ 1 ]에서 나는 해석 \t\n키 입력이 "특징"이어야 한다는 것을 이해했습니다 . 이 기능을 비활성화하고 콘텐츠를 "붙여 넣기"하는 방법이 있습니까?

DMKE

다른 모든 방법이 실패하면 Javascript를 사용하여 텍스트를 삽입 할 수 있습니다 .

page.execute_script '$("#bibtex").val("' << sample('jabref') << '")'

이 작업을 충분히 자주 수행하면 fill_in_plainjQuery의 도움을 사용하지 않고 (예를 들어 평범한 오래된 Javascript 사용) 도우미 메서드 ( 또는 이와 유사한) 에서 추출합니다 document.getElementById.


다음은 여전히 ​​jQuery를 사용하는 적절한 도우미입니다.

module CapybaraWebkitWorkarounds

  def fill_in_plain(selector, with: nil)
    value = with.gsub '"', "\\\"" # poor man's escaping
    page.execute_script %Q{ $("#{selector}").val("#{value}") }
  end

end

RSpec.configure do |config|
  # make it available in all feature specs
  config.include CapybaraWebkitWorkarounds, type: :feature
end

그런 다음 기능 사양에서 간단하게

feature 'Import a record' do

  scenario 'from JabRef' do
    fill_in_plain 'textarea[name="bibtex"]', with: sample('jabref')
    in_dialog.click_button 'Import'
    ...
  end

end

제발 노트는 것을 fill_in_plain도우미는 이제 jQuery를 선택 (예 : CSS 선택기)의 첫 번째 인수로 문자열을 이해한다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HTML 텍스트 필드 (양식)에서 공백이 포함 된 문자열을 기본값으로 설정하는 방법은 무엇입니까?

분류에서Dev

TestFX를 사용하여 텍스트 필드에 밑줄이 포함 된 문자열을 작성하는 방법은 무엇입니까?

분류에서Dev

특정 텍스트가 포함 된 줄을 실행 된 코드와 동일한 순서로 파일 맨 위로 이동하는 방법은 무엇입니까?

분류에서Dev

라텍스로 테이블에 긴 텍스트를 포함하는 방법은 무엇입니까?

분류에서Dev

라텍스로 테이블에 긴 텍스트를 포함하는 방법은 무엇입니까?

분류에서Dev

Blazor에서 배열이 포함 된 필드에서 PostAsJsonAsync를 사용하는 방법은 무엇입니까?

분류에서Dev

Mongoid에서 필드 값이없는 포함 된 문서를 찾는 방법은 무엇입니까?

분류에서Dev

히브리어 및 특수 문자가 포함 된 텍스트 데이터를 SAS에서 ACCESS로 내보내는 방법은 무엇입니까?

분류에서Dev

MVC에서 페이지로드시 텍스트 상자를 채우기 위해 @ Html.EditorFor와 함께 ViewData를 사용하는 방법은 무엇입니까?

분류에서Dev

MVC에서 페이지로드시 텍스트 상자를 채우기 위해 @ Html.EditorFor와 함께 ViewData를 사용하는 방법은 무엇입니까?

분류에서Dev

Mongoclient로 단일 문서에 대한 포함 된 문서 목록 필드를 업데이트하는 방법은 무엇입니까?

분류에서Dev

Inno Setup에서 MsgBox에 포함 된 텍스트를 번역하는 방법은 무엇입니까?

분류에서Dev

포함 된 슬라이스로 크기가 지정되지 않은 유형에 대한 스마트 포인터를 만드는 방법은 무엇입니까?

분류에서Dev

JSP를 사용하여 업로드 된 .csv 파일에서 양식 텍스트 필드를 자동 업데이트하는 방법은 무엇입니까?

분류에서Dev

텍스트 상자 B와 텍스트 상자 C의 값에서 계산 된 값으로 텍스트 상자 A를 채우는 방법은 무엇입니까?

분류에서Dev

Meteor : 컬렉션의 다른 필드에 저장된 배열 길이로 필드를 자동으로 채우는 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 텍스트 필드를 자동으로 채우는 방법은 무엇입니까?

분류에서Dev

이름에 문자열이 포함 된 YouTube 채널에서 모든 비디오를 다운로드하는 방법은 무엇입니까?

분류에서Dev

이전에 추가 된 값으로 목록보기 편집 텍스트를 채우는 방법은 무엇입니까?

분류에서Dev

새 페이지를 만들고 연결하지 않고 Microsoft OneNote에서 "[["및 "]]"가 포함 된 텍스트를 입력하는 방법은 무엇입니까?

분류에서Dev

날짜가 포함 된 CSV 데이터를 numpy 배열에로드하는 방법은 무엇입니까?

분류에서Dev

JSON에서 텍스트를 추출하고 텍스트 필드를 채우는 방법은 무엇입니까?

분류에서Dev

NetSuite에 저장된 보고서의 데이터로 사용자 정의 항목 필드를 자동으로 채우는 방법은 무엇입니까?

분류에서Dev

점이 포함 된 데이터를 데이터베이스에 삽입하는 방법은 무엇입니까?

분류에서Dev

Azure Functions (Python)에서 이미 배포 된 함수를 로컬로 편집하는 방법은 무엇입니까?

분류에서Dev

누락 된 필드를 mongo db의 기존 문서에 데이터로 채우는 방법은 무엇입니까?

분류에서Dev

라디오 버튼 'on'이 포함 된 행의 텍스트를 저장하는 방법은 무엇입니까?

분류에서Dev

$ var가 포함 된 텍스트를 bash 파일에 쓰는 방법은 무엇입니까?

분류에서Dev

특정 SelectField를 ajax 호출에서 반환 된 데이터로 채우는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    HTML 텍스트 필드 (양식)에서 공백이 포함 된 문자열을 기본값으로 설정하는 방법은 무엇입니까?

  2. 2

    TestFX를 사용하여 텍스트 필드에 밑줄이 포함 된 문자열을 작성하는 방법은 무엇입니까?

  3. 3

    특정 텍스트가 포함 된 줄을 실행 된 코드와 동일한 순서로 파일 맨 위로 이동하는 방법은 무엇입니까?

  4. 4

    라텍스로 테이블에 긴 텍스트를 포함하는 방법은 무엇입니까?

  5. 5

    라텍스로 테이블에 긴 텍스트를 포함하는 방법은 무엇입니까?

  6. 6

    Blazor에서 배열이 포함 된 필드에서 PostAsJsonAsync를 사용하는 방법은 무엇입니까?

  7. 7

    Mongoid에서 필드 값이없는 포함 된 문서를 찾는 방법은 무엇입니까?

  8. 8

    히브리어 및 특수 문자가 포함 된 텍스트 데이터를 SAS에서 ACCESS로 내보내는 방법은 무엇입니까?

  9. 9

    MVC에서 페이지로드시 텍스트 상자를 채우기 위해 @ Html.EditorFor와 함께 ViewData를 사용하는 방법은 무엇입니까?

  10. 10

    MVC에서 페이지로드시 텍스트 상자를 채우기 위해 @ Html.EditorFor와 함께 ViewData를 사용하는 방법은 무엇입니까?

  11. 11

    Mongoclient로 단일 문서에 대한 포함 된 문서 목록 필드를 업데이트하는 방법은 무엇입니까?

  12. 12

    Inno Setup에서 MsgBox에 포함 된 텍스트를 번역하는 방법은 무엇입니까?

  13. 13

    포함 된 슬라이스로 크기가 지정되지 않은 유형에 대한 스마트 포인터를 만드는 방법은 무엇입니까?

  14. 14

    JSP를 사용하여 업로드 된 .csv 파일에서 양식 텍스트 필드를 자동 업데이트하는 방법은 무엇입니까?

  15. 15

    텍스트 상자 B와 텍스트 상자 C의 값에서 계산 된 값으로 텍스트 상자 A를 채우는 방법은 무엇입니까?

  16. 16

    Meteor : 컬렉션의 다른 필드에 저장된 배열 길이로 필드를 자동으로 채우는 방법은 무엇입니까?

  17. 17

    SwiftUI에서 텍스트 필드를 자동으로 채우는 방법은 무엇입니까?

  18. 18

    이름에 문자열이 포함 된 YouTube 채널에서 모든 비디오를 다운로드하는 방법은 무엇입니까?

  19. 19

    이전에 추가 된 값으로 목록보기 편집 텍스트를 채우는 방법은 무엇입니까?

  20. 20

    새 페이지를 만들고 연결하지 않고 Microsoft OneNote에서 "[["및 "]]"가 포함 된 텍스트를 입력하는 방법은 무엇입니까?

  21. 21

    날짜가 포함 된 CSV 데이터를 numpy 배열에로드하는 방법은 무엇입니까?

  22. 22

    JSON에서 텍스트를 추출하고 텍스트 필드를 채우는 방법은 무엇입니까?

  23. 23

    NetSuite에 저장된 보고서의 데이터로 사용자 정의 항목 필드를 자동으로 채우는 방법은 무엇입니까?

  24. 24

    점이 포함 된 데이터를 데이터베이스에 삽입하는 방법은 무엇입니까?

  25. 25

    Azure Functions (Python)에서 이미 배포 된 함수를 로컬로 편집하는 방법은 무엇입니까?

  26. 26

    누락 된 필드를 mongo db의 기존 문서에 데이터로 채우는 방법은 무엇입니까?

  27. 27

    라디오 버튼 'on'이 포함 된 행의 텍스트를 저장하는 방법은 무엇입니까?

  28. 28

    $ var가 포함 된 텍스트를 bash 파일에 쓰는 방법은 무엇입니까?

  29. 29

    특정 SelectField를 ajax 호출에서 반환 된 데이터로 채우는 방법은 무엇입니까?

뜨겁다태그

보관