나는 오이 + 우리형에서 오이 + 카피 바라로 옮기기 시작했습니다. 이제 "나는보아야한다"는 행동이 다소 다른 것처럼 보입니다. 페이지의 내용을 변경하지는 않았지만 대부분은 실패합니다. 나는 모든 페이지에있는 몇 가지 물건으로 발견되어야 할 스 니펫을 대체하고 일부 텍스트는 작동하고 다른 텍스트는 그렇지 않습니다. 페이지 내용에있는 패턴과 그렇지 않은 패턴을 찾을 수 없습니다. Webrat은 필요한 구를 포함하지 않은 경우에 대비하여 페이지 내용이 무엇인지 인쇄합니다. 어쨌든 카피 바라가 텍스트를 찾은 페이지에서 가져온 텍스트를 보여줄 수 있습니까? 이 단계를 추가실패한 오이 단계에서 카피 바라가 발견 한 것을 어떻게 볼 수 있습니까?
답변
또한 콘솔에 HTML을 출력 "그럼 나에게 응답을 보여"사용할 수 있습니다.
rack3에 대한 오이가 아닌 명령. –
'인쇄 페이지.html' (단계 정의에서)이 Rails3에서 작동합니다 –
Then show me the page
은 webrat/capybara의 기본 save_and_open_page
메서드를 호출합니다. 스테이크로 작업 할 때 유용하다는 사실을 알았습니다.
페이지가 실패했을 때 브라우저에서 페이지를 열려면 'launchy'gem을 사용하십시오. 은 보석 파일에 추가 한 다음에/기능/지원 내용라는 파일 debugging.rb 만들 : 당신이 당신의 페이지에 자바 스크립트 나 Ajax를 사용하는 경우
After do |scenario|
save_and_open_page if scenario.failed?
end
이것은 매우 유용합니다. Cucumber와 함께 기본적으로 설치되어야하는 것 같습니다. – dankohn
을하고 무슨 일이 일어나고 있는지보고 싶어 , 나는 Poltergeist 운전사가 DOM에 들어가서 무엇이 잘못되었는지 찾아내는 것에 매우 능숙하다는 것을 알았습니다.
경우 설치 원격 디버깅 옵션을 사용하여 카피 바라 드라이버 :
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, inspector: true)
end
당신은 다음 단계로 다음과 같이 쓸 수있다
page.driver.debug
와 함께 새로운 크롬 브라우저를 발사 현재 DOM 상태가 설정되어 콘솔에서 사용할 수 있습니다. (리눅스의 제 버전에서는 chromium-browser에 chromium을 심볼릭 링크해야했지만 그렇지 않으면 잘 동작했습니다).
소스 정보 : http://jonathanleighton.com/articles/2012/poltergeist-0-6-0/
Then show me the response
이 오이 1.1 나를 위해 작동하지 않았다. 나는 카피 바라의 명령을 사용하여 단계를 작성하는 유용하다고 :
print page.html
이 일이 실패했을 때 당신은 항상 스크린 샷을 취할 수 있었던 DOM
의 현재 상태를 출력합니다. 그렇게 많은 실패한 기능을 디버깅합니다.
이름이 알려진 기술에 익숙하지 않은 분으로서,이 기사는 내가 좋아하는 스택 오버 플로우 질문 제목입니다. – Oddthinking
그래, 동물원과 관련된 것 같아. – ajmurmann
롤, 가난한 카피 바라! –