Thanks for the reply, Alex. For your first suggestion I think you are referring to calling each individual test's main script function in sequence from some wrapper, and then executing the wrapper (right?). We've traditionally done something like this but it causes all sorts of problems when tests fail or when the tested application fails. Better to run each test as its own test item, I think.
For your more flexible approach I'm missing something. The key line from the code you refer to is "RunProjectTestItem" which seems to be only available in COM. You're suggesting to call this from a job. So the master PC's job runs a task on a host VM using TestExecute, the job's task calls an external COM function with RunProjectTestItem, which then launches another instance of TestExecute to run the test item? That's the part I'm confused about -- wouldn't I need to run two instances of TestExecute to make that happen?
Best,
Matt