답변

9

Selenium의 여러 버전이 있는데, 가장 최근의 Selenium Web Driver는 사용자와 마찬가지로 UI와 상호 작용하는 동작을 시뮬레이트하여 브라우저를 처리 할 드라이버를 생성 할 수있게합니다. (Json 와이어를 통해).

갈마에 대한 나의 현재의 이해 (내가 추가 할 수있는 것은 매우 제한적 임)는 자바 스크립트 실행에 크게 의존한다는 것입니다. 이 때문에 Karma는 요소에 대한 변경 이벤트 ('blur'및 '마우스 오버'와 같은)를 호출해야합니다. 반면 Selenium은 탭을 클릭하고 커서를 이동합니다. Selenium의 브라우저는 자신의 웹 페이지 here에 지정된 브라우저로 제한됩니다.

+0

거기에 Ui 이벤트를 마무리하는 방법이 있습니까? 재스민에서 명시 적으로 호출 할 필요가 없습니까? – Nikos

22

갈마와 셀레늄 사이에는 큰 차이가 있습니다. Selenium에는 브라우저 제어 메커니즘이 내장되어 있지만 Karma는 내장되어 있지 않습니다. 따라서 Selenium은 테스팅을 끝내기 위해 더 적합합니다 (예 : nightwatch.js). Karma는 단위 테스트를 위해 설계되었으므로, end-to-end 테스트를 수행하는 것이 훨씬 더 어렵습니다. 예를 들어 phantomjs 실행기를 추가 할 수는 있지만, Selenium을 사용한 실제 브라우저 테스트와 결코 같지는 않습니다. 당신은 어댑터가 있다면 js 테스트 프레임 워크를 실행할 수 있습니다 ... 모카, 재스민, qunit, 등 ...

+0

Karma의 Chrome 실행기를 사용하면 Chrome 인스턴스가 실행됩니다. Chrome을 사용하는 것과 똑같지 않습니까? 수사학이 아니고, 진지하게 알지 못한다. – Francisc0

-1

그것은 당신이 테스트하는 것에 따라 다릅니다. jasmine/mocha/chai 또는 그와 동등한 방법을 사용하여 단위 테스트를 작성하려면 javascript를 사용하는 경우 - 카르마가 javascript 및 selenium에 크게 의존하는 인수는 중복됩니다.

나는 셀 테니 어 언어를 선택하는 동안 매우 적은 전용 테스터로 작업 한 경험이 있지만 셀레늄 메서드 라이브러리는 jquery와 같은 동등한 선택기 엔진으로 기억하기 쉽지 않습니다. 기업

몇 가지가 있었다 더 복잡한 자동화 된 테스트에 투자하는

전용 자동화 된 테스터는 언어, 낮은 언어를 배울 수있는 개발자에 대한 관심의 부족을 배울 수있는 어려움은 투자의 부족을 영속 셀레늄을 사용하여 jquery 구현을 수년에 걸쳐 보강했지만 아무도 실제로 엄청난 추종자를 가지고 있지 않으며 대부분 자바로 작성되었습니다.

Webdriverio는 NPM 패키지는 일부 JQuery와 기능을 가지고있다 - https://github.com/bessdsv/karma-jasmine-jquery

그것은 테스트되고 무엇을 따라 - https://www.npmjs.com/package/webdriverio-jquery

카르마는 전체 JQuery와 엔진을 가져올 수있는 수단을 가지고있다. 프런트 엔드 코드를 테스트하는 경우 자바 스크립트를 사용하는 것이 좋으며 셀레늄 언어보다 jquery를 사용하는 것이 더 쉽고 현재 카르마는 webdriver보다 jquery를 더 잘 지원합니다.

자동화 된 테스트를 위해 jquery를 사용하면 개발자가 자동화 된 테스트로 양도 할 수있는 기술을 개발할 수 있으며 그 반대의 경우도 마찬가지입니다.