Trả lời

9

Có một số phiên bản của Selenium, mới nhất (tôi tin) là Trình điều khiển web Selenium cho phép bạn tạo trình điều khiển sẽ xử lý trình duyệt cho bạn bằng cách mô phỏng các hành động tương tác với giao diện người dùng giống như người dùng (thông qua một dây Json).

Sự hiểu biết hiện tại của tôi về Karma (có thể tôi thêm rất hạn chế) là nó dựa chủ yếu vào việc thực thi javascript. Bởi vì điều này Karma sẽ phải gọi sự kiện thay đổi trên các yếu tố (như trong, 'mờ' và 'di chuột qua') trong khi Selenium sẽ chỉ cần nhấp, tab ra, di chuyển con trỏ đến. Các trình duyệt của Selenium được giới hạn ở các trình duyệt được chỉ định trên trang web của họ here.

+0

có cách nào để kết thúc các sự kiện ui đó không bạn phải gọi chúng một cách rõ ràng trong hoa nhài? – Nikos

22

Có sự khác biệt rất lớn giữa Karma và Selenium. Selenium có cơ chế kiểm soát trình duyệt tích hợp, trong khi Karma thì không. Vì vậy, Selenium là phù hợp hơn để kết thúc để kiểm tra kết thúc, ví dụ với nightwatch.js. Karma được thiết kế cho các bài kiểm tra đơn vị, do đó khó có thể kết thúc các bài kiểm tra từ đầu đến cuối, bạn có thể thêm ví dụ một trình khởi chạy phantomjs, nhưng nó sẽ không bao giờ giống như kiểm tra trình duyệt thực với Selenium ... Tôi nghĩ cả hai chúng có thể chạy bất kỳ khung kiểm tra js nào nếu bạn có bộ điều hợp ... Mocha, jasmine, qunit, vv ...

+0

Khi tôi sử dụng trình khởi chạy Chrome của Karma, nó sẽ khởi chạy phiên bản Chrome. Điều đó không giống với việc sử dụng Chrome? Không hùng biện, nghiêm túc không biết – Francisc0

-1

Nó phụ thuộc vào những gì bạn đang thử nghiệm. Nếu bạn đang sử dụng javascript để viết các bài kiểm tra đơn vị - thông qua hoa nhài/mocha/chai hoặc tương đương thì - lập luận rằng nghiệp dựa rất nhiều vào javascript và selen không - là thừa. Trong tất cả kinh nghiệm của tôi, tôi đã làm việc với rất ít người thử nghiệm tự động chuyên dụng, và trong khi ngôn ngữ selen có thể là lựa chọn của họ, thư viện selenium của phương pháp không dễ nhớ như một công cụ chọn tương đương như jquery.

Khó khăn cho các xét nghiệm tự động dành riêng cho học ngôn ngữ, và sự thiếu quan tâm đối với các nhà phát triển để học một ngôn ngữ ít perpetuates thiếu đầu tư cho các công ty đầu tư vào kiểm tra tự động phức tạp hơn

Đã có một vài tăng cường thực hiện jquery với selen trong những năm qua, nhưng không ai thực sự có một sau rất lớn và hầu hết được viết bằng java.

Webdriverio có một gói NPM có một số tính năng jquery - https://www.npmjs.com/package/webdriverio-jquery

Karma có một phương tiện để nhập khẩu các động cơ jquery toàn - https://github.com/bessdsv/karma-jasmine-jquery

Nó phụ thuộc những gì đang được thử nghiệm. Nếu bạn đang thử nghiệm mã kết thúc trước, thì điều đó có ý nghĩa khi sử dụng javascript và việc sử dụng jquery dễ dàng hơn so với ngôn ngữ selen và hiện tại karma hỗ trợ jquery tốt hơn so với webdriver.

Sử dụng jquery để kiểm tra tự động sẽ trao quyền cho các kỹ năng có thể chuyển giao thành phát triển và ngược lại cho các nhà phát triển vào thử nghiệm tự động.

Các vấn đề liên quan