Какие проблемы преодолевает TestCafe, которые оправдывают его выбор вместо Selenium? Стоит ли переносить старые тестовые наборы в TestCafe?
Чем TestCafe лучше Selenium?
Ответы (1)
Есть множество причин, по которым мы в команде TestCafe решили не строить TestCafe поверх Selenium.
Во-первых, мы хотели упростить настройку тестовой среды. Чтобы начать работу с Selenium, вам необходимо установить клиент WebDriver для нужного языка программирования и соответствующие драйверы для каждого браузера, в котором вы собираетесь тестировать.
Хотя это звучит довольно просто, на практике довольно сложно просто начать тестирование. Эта проблема становится еще больше, если вам нужно настроить тестовую среду в масштабе, например. для вашего локального CI-сервера.
Существует множество решений для тестирования node.js, основанных на Selenium в npm. Вы можете видеть, что они требуют значительного объема работы по установке и настройке только для того, чтобы начать работу. Это далеко от простоты настройки npm install
, к которой мы привыкли в других инструментах из набора инструментов современного веб-разработчика.
TestCafe также имеет некоторые функции, которые были бы невозможны, если бы TestCafe использовала Selenium в качестве базовой платформы. Например, TestCafe может запускать тесты на удаленные устройства, включая мобильные. Это означает, что вы можете запускать тесты на машине, на которой не установлено TestCafe. Вам нужно только открыть ссылку в его браузере и начнется тестирование (если хост и целевое устройство видят друг друга в сети). Эту функцию можно использовать для быстрой демонстрации ошибки инженеру, у которого вообще не установлены TestCafe или node.js.
Другие функции, которые было бы трудно реализовать поверх Selenium, включают:
Изолированная тестовая среда. Каждый тест TestCafe запускается так, как если бы он был запущен в новой вкладке инкогнито. У вас будут чистые куки и хранилища. Это помогает избежать большого количества стандартного тестового кода и позволяет вам работать в одном и том же браузере без риска вмешательства состояния. Это также позволяет нам реализовать такие механизмы, как грядущая функция ролей., с помощью которого вы сможете взаимодействовать со страницей с точки зрения разных пользователей или легко выполнять проверку подлинности с помощью форм в тестах.
Неявный механизм автоматического ожидания. TestCafe автоматически ожидает запросов XHR, загрузки страниц и анимации страниц, поэтому вам не нужно заботиться об этом в своем коде.