텍스트 편집기를 변경하고 있으며 JavaScript로 조작하기 위해 텍스트를 선택할 수 있어야합니다. Cucumber, Capybara 및 Selenium으로 텍스트를 선택하려면 어떻게해야합니까?Cucumber + Capybara + Selenium : 텍스트 선택
4
A
답변
3
JavaScript를 사용하여 텍스트를 선택하는 방법에 대해 이야기하는 또 다른 stackoverflow 질문을 발견했습니다.
Can you set and/or change the user’s text selection in JavaScript?
나는 (당신이 다른 방법으로 셀레늄을 사용하는 경우, 당신이 그것을 수정해야 할 수 있습니다) 셀레늄 IDE에서 getEval 호출 내에서 작동 할 수 있도록 자신의 스크립트를 수정 할 수 있었다.function selectElementContents(el,start,end) {
var sel = window.getSelection();
var range = window.document.createRange();
range.setStart(el,start);
range.setEnd(el,end);
sel.removeAllRanges();
sel.addRange(range);
}
selectElementContents(window.document.getElementById("container").firstChild,10,20)
이것은 당신이 하나의 요소 내에서 텍스트 범위를 선택할 수 있습니다 : 나는 또한 파이어 폭스에 관련되지 않은 코드를 제거. "컨테이너"는 텍스트가 포함 된 요소의 ID이고 10과 20은 시작 및 중지 할 문자의 색인입니다.
그냥 한 줄에 압축하여 Selenium getEval 문에 추가하면 텍스트가 선택됩니다.
단일 요소 내의 텍스트가 충분히 유연하지 않으면 JavaScript 범위에 대한 설명서에서 필요한 추가 세부 정보를 제공해야합니다.
+0
감사합니다. 나는 이것을 설치 프로그램에 적용하는 방법을 알아 냈습니다. –
0
카피 바라 도우미 함수에 조쉬에 의해 제안 된 접근 방식을 묶는 (및 시작/종료 요소 내에서 부분적인 선택에 대한 임의의 위치 인수를 추가) :
module TextSelection
def select_text(startEl, endEl, startPos = 0, endPos = 0)
js = <<-JS
var sel = window.getSelection();
var range = window.document.createRange();
range.setStart(arguments[0],#{startPos});
range.setEnd(arguments[1],#{endPos});
sel.removeAllRanges();
sel.addRange(range);
JS
page.execute_script(js, startEl.native, endEl.native)
end
end
World(TextSelection)
를 그런 다음 테스트 :
start_el = first('#first')
end_el = first('#last')
select_text(start_el, end_el)
관련 문제
- 1. Cucumber + Webrat + Selenium guide
- 2. Cucumber + Selenium on javascript apps
- 3. Capybara, Cucumber, 인라인 스타일로 텍스트를 지정하는 GWT 문제
- 4. Cucumber + webrat + selenium, 어떻게 숨겨진 텍스트를 무시하나요?
- 5. Rails 3에서 기본 Selenium + Capybara + 오이를 사용할 수 없습니다.
- 6. Cucumber/Capybara - XPath를 사용하여 특정 버튼을 검색하는 방법?
- 7. 레일 : 좋은 Rspec2 예제 사용법? (Also : Cucumber, Pickle, Capybara)
- 8. UI 테스트 {Capybara + Cucumber} : 특정 텍스트 상자에 포커스가 있는지 확인하는 방법
- 9. Capybara + Selenium 2.0이 때때로 앵커 태그를 클릭하지 못합니다.
- 10. Capybara-Selenium 계속하기 전에 오랫동안 RSpec 테스트가 중단됩니다.
- 11. capybara 셀레늄 및 JavaScript 파괴
- 12. Webrat Selenium : 브라우저 시작시 오류 발생 (Selenium :: CommandError)
- 13. 텍스트 선택 또는 동시에 여러 텍스트 선택
- 14. Capybara attach_file 메서드는 selenium-webdriver를 통해 시스템 파일 업로드 대화 상자를 엽니 다.
- 15. Rails3 + Cucumber + Factory_girl_rails + Authlogic 문제
- 16. 텍스트 상자의 텍스트 선택 취소
- 17. Selenium : 텍스트 상자에서 문자를 삭제하는 방법
- 18. Cucumber Stories가있는 세션 변수
- 19. 게으름 피우는 "rake cucumber"
- 20. Rspec와 Capybara 객체 매칭
- 21. Spork Capybara, config.cache_classes conflict
- 22. Capybara and javascript onbefoureunload
- 23. capybara sinatra를 실행하는 방법
- 24. Capybara : "컨트롤러"가 없습니다?
- 25. Ruby on 레일에서 테스트하는 동안 스펙에서 세션 변수의 값 변경 (capybara 및 selenium 사용)
- 26. Page Object 패턴을 Cucumber 및 Webrat/Selenium과 함께 사용하는 방법?
- 27. Selenium 2는 Selenium 2를 지원합니까?
- 28. Cucumber, Capybara를 통해 링크가 jquery 액션을 트리거하지 않음
- 29. 텍스트 선택 윤곽 WinForms
- 30. 입력란 정확한 텍스트 선택
그 제목은 치명적인 전설의 요리법처럼 들립니다. 그냥 말해. 이 의견의 금요일 맞이를 용서해주십시오. – MPelletier