Looking for some best practice here:

I'm looking to future proof the selenium tests that I'm building. They'll involve shared elements (products/locations/users), and it seems like a bad pattern to be building unique, test specific data for each test in isolation.

So how do I avoid my setup/teardown potentially wrecking other tests?