When Automating the Test it is important that we write code in such a way that leads to minimum code maintenance. This will help us to implement corner cases rather than waste our precious testing period with maintaining the existing code.
As there are several best practice out there of which one of the important is that we must never hard code input which will completely render us from reusing those test scripts. We also know that there are several frameworks out there will get imports in the form of docs, spreadsheet and even using json.
What if you are provided with the task to write automated test scripts which must get its input only from Database. After searching, I have found that when a company is paying third party or freelancers to Automate tests for their web application, they just share read-only database user onto specific tables were they can get their test or actual input.
Another big reason for this practice is that instead of going though the burden of preparing input sheets, clients can share their existing database as all most all web application uses Database which they directly share to the test engineers with minimal tweaks.
Why MySql ?
The truth is that which database that client may provide is upto them as it depends on the nature of the application. We use MySql as most of the syntax used are more or less same over other database servers and as beginners people tends to go with MySql over other database servers, so this become the best pick for our integration with selenium.
Scope
The testing has evolved, cooperation stared using services like Sauce Labs, BrowserStack for cloud automation testing. Most of the technologies uses cloud based storage for their fast and reliability, it also make no sense if we use cloud automation testing but data provided are from local.