Варианты могут быть следующими:
- Пришел на проект, уже кто-то что-то написал до тебя. Саппорть!
- Пришел на проект, мало опыта / знаний. Заказчик сказал - хочу автотесты! Пишу, как умею, ибо больше некому.
- Пришел на проект, когда-то пробовал создавать что-то свое, остались наработки. С гордостью всех убеждаю, что есть темплейт, напишу супер фрейм в кратчайшие сроки. Все ведутся. Ну а пришедшие после тебя попадают в п.1.
- Попробовал готовый фреймворк, все гуд, все довольны. Заказчик захотел новую фичу 1…N. Начал припиливать, сломал пальцы, выбросил фреймворк.
- Я просто весь такой крутой из себя, что клепаю фреймворки различной сложности конвейером, как семечки (ЧСВ +1к).
- Просто для собственного развития пишу что-то свое.
Если подытожить, то тут в основном либо отсутствие опыта / знаний сказывается. Либо излишняя самоуверенность. Либо безвыходность положения. В случае с готовыми фреймами, авторы неявно писали их под себя / проект / компанию на основании своего субъективного видения процессов автоматизации тестирования. Но главная проблема кроется в том, что невозможно предусмотреть все кейсы. И как только на пути возникает серьезное препятствие, требующее сооружения костылей, пользователи таких фреймворков очень быстро от них отказываются, ввиду последствий оупен-сорсности. Никто ведь не будет ждать, пока разработчики готового фреймворка припилят нужную вам фичу (ведь у вас может не быть соответствующего опыта для внесения правок самостоятельно). Да и припилят ли вообще? Вот и приходится методом проб и ошибок создавать что-то свое, постепенно модифицируя и адаптируя под нужды проекта.