[jstest] selenium + nodeJS #5

개요 여지껏 Driver의 WebElement중심으로 기능을 살펴봤습니다. 이제부터는 Driver자체의 기능을 하나씩 짚어보겠습니다. 브라우저별 드라이버가 반환하는 객체는 실은 WebDriver라는 클래스의 브라우저별 구현체로 실제 인터페이스는 전부 여기에 정의되어있습니다. 이번 포스팅에서는 드라이버 기능 중에 자주 언급되는 스크린샷찍기를 설명합니다. 또한 이를 실현하는 과정에서 reporter를 완전히 개조하여 http모듈기반으로 이사시키고, worker의 스크린샷 지원부분도 fs를 이용하여 구축하게 됩니다. WebDriver의 객체관계도 이번에는 스크린샷 기능만 … [jstest] selenium + nodeJS #5 더보기

[jstest] selenium + nodeJS #4

개요 이전 #3에서 이벤트 처리의 기본을 알아봤으니 좀 더 다양한 폼별 테스트를 진행하면서 여기에 맞게 worker.js도 개조해가겠습니다. 이미 사용되는 코드는 날코드가 아니라 worker.js와 report.js에 의존하고 있습니다. 최소한 #3이라도 보셔야 그 안에 여지껏 전개된 코드가 있습니다. 일반적인 form요소의 테스트 가장 무식하게는 해당 엘리먼트를 클릭하고 전개되면 다시 다른 항목을 클릭하는 식으로 테스트할 수 있습니다. 예를 들어 라디오버튼을 … [jstest] selenium + nodeJS #4 더보기

[jstest] selenium + nodeJS #3

개요 웹엘리먼트가 지원하는 sendKey와 click은 간단히 쓰기엔 편리하지만 정교한 인터렉션을 재현하지는 않습니다. 셀레늄은 거의 완벽한 이벤트를 재현할 수 있는데 이를 찬찬히 살펴보겠습니다. #3에서는 기본 이벤트 입문만 진행하고 이에 맞춰 worker.js와 reporter.js도 약간씩 변경하는 정도만 진행해보죠. #4에서 본격적인 이벤트처리로 가기 전에 기초학습이라 생각하시면 될 듯합니다. ActionSequence ActionSequence는 실행할 이벤트를 체이닝으로 모아뒀다가 일괄로 perform()을 이용해 실행합니다. 이에 … [jstest] selenium + nodeJS #3 더보기

[jstest] selenium + nodeJS #2

개요 셀레늄은 브라우저에 인터렉션을 걸고 브라우저가 그것에 대한 반응을 하는지 감시하여 보고하는게 주 임무입니다. 따라서 다른 전구간 테스트 프레임웍이 그러하듯 관찰이나 대기에 대한 기능을 풍부하게 갖고 있습니다. 이번 글에서는 대기에 대해 알아보고 worker를 정리합니다. 암묵적 대기 우선 가장 기본적인 대기전략은 “무조건 뭘시켜도 일정시간 대기하면서 감시하기” 입니다. 이를 암묵적 대기(implicit wait)라 합니다. 이는 드라이버에게 설정할 수 … [jstest] selenium + nodeJS #2 더보기

[jstest] selenium + nodeJS #1

인수테스트 웹솔루션의 경우 실제 환경에서 파일업로드 및 ajax연동을 포함한 다양한 브라우저로 산출물을 테스트하는 것을 인수테스트로 볼 수 있습니다. 간단히 말해 최종 유저가 실제 사용할 때 버그가 발생하는지 아닌지를 테스트해보는 것입니다. 테스트이론에 대한 장황한 설명은 이미 수 많은 문서와 책이 다루고 있으며 차차 저도 다른 포스팅을 통해 조금은 설명할 예정입니다만 이번 시리즈에는 순수하게 셀레늄을 노드로 활용하는 … [jstest] selenium + nodeJS #1 더보기