I have a "customer side" and an "administrator side" of a web application. I want to make my tests as solid as possible, so should I be adding new customer(s) on my administrator side before each test and removing them upon completion? I'm concerned that if something fails on the removal, the next run will potentially kick up an error of someone existing when trying to create them again.
Should I be creating them via selenium in the front end? Should I be inserting them into the database for use?
I also have a SOAP API that can be used to
I've used a more data-driven framework in the past for using the likes of Excel databases to house my data, I assume (yet to investigate it, I can handle this with cucumber data tables).
An alternative is to set up the said customers for the test beforehand so that they will always exist in the database, but this seems relatively brittle.