Они атакуют разные проблемы. Поскольку PhantomJS отлично работает в командной строке, он подходит в качестве первого уровня тестирования дыма, будь то в рамках процесса разработки и / или на сервере непрерывной интеграции. Selenium ориентирован на несколько браузеров, поэтому очень полезно обеспечить согласованность между браузерами и проводить обширные испытания в разных операционных системах.
Если ваше веб-приложение должно работать в различных веб-браузерах, запуск тестирования пользовательского интерфейса только с PhantomJS не даст наибольшего покрытия тестированием. Тем не менее, совершенно нормально запустить PhantomJS и выполнить некоторые базовые проверки работоспособности, прежде чем проводить углубленные тесты. Представьте себе безумие тестирования финансового приложения, в котором экран входа в систему непреднамеренно сломан и не функционирует!
Обратите внимание, что грань между ними немного размыта из-за недавней поддержки WebDriver в последней версии PhantomJS. Теперь можно быстро запустить тесты сначала с помощью PhantomJS, а затем (при условии, что не возникло серьезных ошибок) продолжать тщательно выполнять те же тесты в установке Selenium.