Чем TestCafe лучше Selenium?

Какие проблемы преодолевает TestCafe, которые оправдывают его выбор вместо Selenium? Стоит ли переносить старые тестовые наборы в TestCafe?


person Albino Cordeiro    schedule 13.11.2017    source источник


Ответы (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, загрузки страниц и анимации страниц, поэтому вам не нужно заботиться об этом в своем коде.

person Alexander Moskovkin    schedule 13.11.2017
comment
Последний абзац Неявный механизм автоматического ожидания. TestCafe автоматически ожидает запросов XHR, загрузки страниц и анимации страниц, поэтому вам не нужно заботиться об этом в своем коде, и он должен быть первым. Вы бы меня сразу продали :-) - person Albino Cordeiro; 14.11.2017
comment
Как правило, все новые сеансы браузера Selenium изолируются с использованием нового профиль браузера с пустыми файлами cookie и хранилищем. - person giorgiosironi; 15.01.2019
comment
Selenium также обеспечивает неявное ожидание появления выбранных элементов. - person giorgiosironi; 15.01.2019
comment
@giorgiosironi это не помогает, когда я жду рендеринга на холсте - person Ni55aN; 22.05.2019