Насколько я знаю, в мире JS автоматизации это два самых популярных инструмента для UI тестирования.
Тестируемое приложение будет писаться на Reactе, т.е преимущество Protractorа в работе с Angular приложениями не играет никакой роли.
Хотелось бы услышать мнение людей, которые попробовали и тот и тот инструмент и сделали выводы.
Или если вы используете другой инструмент на JS- скажите почему выбрали именно его.
Anyway both options are good. I found some issues with webdriverIO when was working with complex actions like hold some key and move from one point to another. But I used wdio v4 and v5 has been released not so long time ago, so maybe they added some fixes.
Может, немножко не в тему, у меня в проекте аппликация на реакте, сам проект на .Net, для автоматизации использую обычный Selenium WebDriver + C# + SpecFlow. Основная причина - такое было требование к автоматизации.
На самом деле особой разницы нету, я лично топлю за протрактор, возможно если столкнешься c какой-то “НУ очень” нетривиальной проблемой связанной с фреймворком - разрабы webdriverIO быстрее дадут ответ.
Мы сначало на nightwatch писали. Теперь вся компания перешла на webdriverIO. Пока без пререканий. Куча всех фич out the box: пераллельное тестирование, asynch или synch выбираете что любите. Большая community и баги фиксаются очень быстро если найдете такие, куча разных плагинов которые добавляются в одну строчку и без заморочек
А чего Puppeteer не рассматриваете? На наших сампл тестах он даже в “головастом” режиме оказался быстрее Webdriver (не берусь утверждать насчет всех проектов, но на нашем так). Отлично работает под jest в качестве раннера. Да, для настройки надо разобраться, покопаться в API, чтобы освоить методы, но после этого разработка идет весьма резво на тех же PageObjects+PageElements в качестве паттерна. Недостаток Puppeteer - работа только под хромом. Если критична кроссбраузерность, то да, не вариант - по крайней мере пока. Но ИМХО на уровень UI выносить стоит только acceptance тесты, и здесь кроссбраузерность не всегда критична. Все, что можно вынести на уровень React-компонентов и тестить с помощью Enzyme, стоит тестить именно там. В любом случае, стоит посмотреть в сторону Puppeteer, если кроссбраузерность не критична.