Подтвердить что ты не робот

Какое испытание Селен покрывает сверх Кармы?

Я понимаю, что Karma - это тестовый бегун JavaScript, который может запускать тесты в реальных браузерах. Если это так, то какое тестовое покрытие дает Селен сверх Кармы.

4b9b3361

Ответ 1

Существует огромная разница между Кармой и Селеном. Selenium имеет встроенный механизм управления браузером, а Karma - нет. Таким образом, Selenium больше подходит для сквозного тестирования, например nightwatch.js. Карма предназначена для модульных тестов, поэтому гораздо сложнее достичь сквозных тестов на ней, вы можете добавить, например, пусковую установку phantomjs, но она никогда не будет такой же, как настоящие тесты браузера с Selenium... Я думаю, что оба они могут запускать любую инфраструктуру тестирования js, если у вас есть адаптер... Mocha, jasmine, qunit и т.д.

Ответ 2

Существует несколько версий Selenium, самый новый (я считаю) Selenium Web Driver, который позволяет вам создать драйвер, который будет обрабатывать браузер для вас, моделируя действия, которые взаимодействуют с пользовательским интерфейсом, как пользователь ( через провод Json).

Мое нынешнее понимание Кармы (которое я могу добавить очень ограничено) заключается в том, что она в значительной степени зависит от выполнения javascript. Из-за этого Карма должна будет вызывать события изменений на элементах (как, например, "размытие" и "зависание" ), тогда как Selenium просто щелкнет, выберет вкладку и переместит курсор. Селен-браузеры ограничены теми, которые указаны на их веб-странице здесь.

Ответ 3

Это зависит от того, что вы тестируете. Если вы используете javascript для написания модульных тестов - через jasmine/mocha/chai или эквивалент, то - аргумент, что карма в значительной степени зависит от javascript и селена, не является избыточным.

Во всем моем опыте я работал с очень немногими специализированными автоматическими тестерами, и, хотя селеновый язык, возможно, их выбор, селеновую библиотеку методов не так легко запомнить как эквивалентный механизм выбора, например jquery.

Трудность для специализированных автоматических тестеров изучать язык и отсутствие интереса для разработчиков к изучению меньшего языка увековечивает отсутствие инвестиций для компаний в инвестирование в более сложное автоматизированное тестирование

На протяжении многих лет было реализовано несколько дополнений jQuery с селеном, но ни у кого действительно нет огромных следов, и большинство из них написано в java.

Webdriverio имеет пакет npm, имеющий некоторые функции jquery - https://www.npmjs.com/package/webdriverio-jquery

У Karma есть средство для импорта всего механизма jquery - https://github.com/bessdsv/karma-jasmine-jquery

Это зависит от того, что тестируется. Если вы тестируете код переднего конца, тогда имеет смысл использовать javascript, и проще использовать jquery, чем язык селена, а в настоящее время карма поддерживает jquery лучше, чем webdriver.

Использование jquery для автоматизированного тестирования позволило бы передавать передаваемые навыки в развитие и наоборот для разработчиков в автоматическое тестирование.