테스트 레일 및 MERB 응용 프로그램을위한 셀레늄 및 Watir의 헤드리스 교체
-
19-09-2019 - |
문제
Selenium과 Watir를 Mechanize + Johnson으로 대체 할 향후 계획이 있습니까?
해결책
현재 "ORIP"에 의해 언급 된 htmlunit 주변의 jruby 래퍼 인 Celerity 주위에 가장 많은 추진력이있는 것 같습니다.
또한 Celerity 주변에는 깔끔한 래퍼 "culerity"가있어 일반 기계 설정에서 htmlunit (Java/Jruby 실행)에 액세스 할 수 있습니다. Culerity는 오이와 Celerity 사이의 다리입니다.
이것은 오이로 테스트를 작성하는 데 훌륭합니다.
추가 정보는 다음과 같습니다.
http://drogomir.com/blog/2009/6/16/cucumber-and-celerity-testing-unobtrusive-javaScript
그리고 여기에 culerity 예가 있습니다.http://github.com/drogus/culerity-javascript-example/tree/master
다음은 좋은 예제 (및 멋진 설치 가이드)와 함께 Culerity 프로젝트 자체입니다.http://github.com/langalex/culerity/tree/master
이 설정의 만기에 대한 메모 : 몇 주 전에 이것을 실험했습니다. 그리고 나는 Culerity 예제를 상당히 쉽게 실행했습니다.
반면에, 나는 두 가지에 문제가있었습니다.
- 나는 그것이 Webrat를 통해 내 지역 레일 앱에 액세스하고 그 문제에 부딪 치기를 원했습니다.
- 이 접근법은 셀레늄 (일반 브라우저를 시작)을 통해 유사한 테스트를 실행하는 것보다 훨씬 느리게 보였습니다. 내 예에서 셀레늄 테스트는 Culerity 테스트보다 약 3-4 배 빠릅니다.
내 발견 중 일부는 극도의 출혈 가장자리에서 이것을 시도한 결과 일 수 있습니다. 그러나 나는 이것이 여전히 길이라고 생각하고 헤드리스 브라우저 테스트가 진행될 것이며 미성숙 한 Webrat/Culerity 인터페이스 외에도 Celerity/htmlunit을 기반으로 적절한 테스트 스위트를 만들 수 있습니다 :)
나는 이것이 당신의 질문에 답하기를 바랍니다.
다른 팁
약간의 주제이지만 이미 사용할 수 있습니다 htmlunit 테스트를위한 JS 지원 헤드리스 브라우저 용. Jruby를 사용하면 Ruby를 계속 사용할 수도 있습니다.