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