I have a build which runs automated application testing on multiple QB agents. We have a pool of user accounts in the application (TestUser[0..14]), each of which has a set of sample data populated. It's important that only a single test suite is running for each TestUser at any time, otherwise they step on each others' data and some tests will fail.
Currently we have 15 physical Windows machines running the QB agent. We're trying to move those to dynamically spawned Azure VM's that QB can create & destroy. The physical machines all have an "id" set as a node property which assigns them to one of the 15 user accounts. That (rather clunky) approach won't work with agent nodes that are spawned & destroyed on command.
My initial thought is I want something like Resources, but simply tracking how many resources are available isn't sufficient. I need a collection of named items, one per TestUserX account. Each item should be assigned exclusively to a spawned VM for the duration of the build.
I'm guessing something with pre-post execute scripts might keep a record of accounts in use & assign them per build. Is there any established way to do something like this that I'm missing?
Thanks in advance,
Zac