Interesting user too stupid error today whist adding some CodeUI tests to a Lab Management deployment scenario.
I added the Test Case and associated it with Coded UI test in Visual Studio
I made sure my deployment build had the tests selected
I then ran my Lab Deployment build, but got the error
Build directory of the test run is not specified or does not exist.
This normally means the test VM cannot see the share containing the build. I checked the agent login on the test VM could view the drop location, that was OK, but when I looked for the assembly containing my coded UI tests was just not there.
Then I remembered……..
The Lab build can take loads of snapshots and do a sub-build of the actual product. This all very good for production scenarios, but when you are learning about Lab Management or debugging scripts it can be really slow. To speed up the process I had told my Deploy build to not take snapshots and the use the last compile/build drop it could find. I had just forgotten to rebuild my application on the build server after I had added the coded UI tests. So I rebuild that and tried again, but I got the same problem.
It turns out that though I was missing the assembly the error was before it was required. The true real error was not who the various agents were running as, but the account the test controller was running as. The key was to check the test run log. This can be accessed from the Test Run results (I seemed to have a blind spot looking for these result)
This showed problem, I had selected the default ‘Network Service’ account for the test controller and had not granted it rights to the drop location.
I changed the account to my tfs210lab account as used by the agents and all was OK.