I'd like to know what advantages/disadvantages to testing a range of different sites, applications or services using a single, standalone framework?
Let's say that some of these sites combine to form an end-to-end journey, and there are also API endpoints involved.
To me, having a single standalone framework that houses the API and acceptance tests for the different sites means we have a unified framework where we only need to solve and maintain consistent design patterns (PageObject, helper functions (e.g. date conversion)) once and only once.
However, most modern frameworks tend to have the API and acceptance tests sit inside the application itself. For instance, you generally define your unit tests in Karma and end-to-end tests in Protractor for an Angular app. This means that for each product, you are pushed towards using a particular set of tools or paradigm that is specific to that technology solution, and you have to write things from the 'ground up' so to speak.
In my view, it would be nicer to use an all-in-one framework that can run API tests and acceptance tests and recognise different projects. This could be done in many frameworks (I've been looking at Cypress.io, CodeceptJS and Webdriver.io for instance).
What are the downsides to having a unified, single repository and framework for housing all your tests?