Environment: We use TFS automated testing. We have several test suites containing test cases with linked automation. I create build definition that start testing on lab environment via LabDefaultTemplate.xaml workflow.
Target: We need to test our product on several Windows versions (on XP x86, XP x64, Seven x86, Seven x64 etc.). I prepared all systems and add them to one environment (in Test Manager). They all have same Role ("Desktop Client").
Problem: But when I start automated tests (via build definition with Lab Workflow Template in VS) tests starts on one system only .
I understand the logic, each environment contain systems with different roles, 开发者_JAVA百科and TFS thinks that one system per environment with that role is enough.
Test Settings, that selects Role to run automated tests can be configured in Test Manager, but I can select only one role per environment to run tests, so I can't even set different roles to my systems and run tests on all of them.
Create environment per system type, several build definitions is too hard. We need to test our product on 12 system types, so we need 12 build definitions, 12 environments and I will get 12 test run results collections per one tests start.
Can I somehow force TFS to run tests on all systems with one role in one environment?
You need to customize the E2E workflow. You can see here a simplified example for two settings. To extend it for supporting 12 cases, you can cycle on the input parameters; also you can have implement a UI for it.
I never did it but I know Psexec can inject any application/test cases in any no of machines with your defined user profile. Here you will get more details. Or you can use WMI to do this task.
Hope this will help you.
精彩评论