Contributions
Re: Sys.WaitProcess hanging intermittently
The application it says it is waiting on is not running and not shown in TaskManager. The TestExecute runner is still showing (see image), but it is not responsive. Clicking on it does nothing. Sometimes TestExecute will show as running in TaskManager and sometimes it doesn't. If it is showing in TaskManager then we can kill the TestExecute task, but if it isn't showing then we have to reset the computer to get it back to a working state. In this example the application it is waiting on (ExerciseBuilder) was not used in the test and the only place it was referenced was as a process being terminated in the OnStopTest handler.781Views0likes0CommentsSys.WaitProcess hanging intermittently
We have a script setup to run after each of our tests that shuts down any applications that might still be running. These are the tested applications but also other applications that may have been started during the test. Mostly this works fine, but occasionally when we run the tests in TestExecute it will appear to just hang with the test indicating "Waiting on AppX". TestExecute doesn't move beyond this and the test run doesn't complete. What's more TestExecute refuses to shut down and we have to manually kill the TestExecute process or reboot the machine. This doesn't happen often and isn't reproducible, but we are now up to approx 60 tests in the test run and it is happening about a quarter of the test runs and therefore this is becoming a major issue for us. In most instances the app that it is waiting on is not even running. Below is the code we are using to do this. Does anyone have any guidance on what we are doing wrong or how we can improve this? function EventControl_OnStopTest(Sender) { Log.Enabled = false; TestedApps.TerminateAll(); TerminateProcess("AppX"); TerminateProcess("AppY"); TerminateProcess("AppZ"); // Delete the settings files aqFileSystem.DeleteFile(aqEnvironment.GetEnvironmentVariable("LocalAppData") + "\\MyAppData\\*.*"); Log.Enabled = true; } function TerminateProcess(processName){ var p = Sys.WaitProcess(processName, 0); if (p.Exists){ p.Terminate(); } }Solved807Views0likes4CommentsRe: TestComplete / TestExecute parallel testing across multiple machines for Windows application
Thanks. Those links don't seem to contain anything related to splitting tests across multiple machines or how to run in parallel. Is it just a case of having to create separate execution plans and then manually running them on each different Jenkins agent?1.2KViews0likes1CommentTestComplete / TestExecute parallel testing across multiple machines for Windows application
We are using TestComplete to automate testing our WPF Windows Desktop application. We then run the tests using TestExecute through our Jenkins CI system. As we are adding more tests the time taken to run them is increasing and so we are looking to split the tests up and run them across multiple computers. Ideally we would want to build the application on one Jenkins agent then distribute the binaries and test projects to the other Jenkins agents. Tests would then be allocated out to each agent to run (so that there is a rough balance in the time taken on each agent), then have Jenkins show the consolidated results. There is lots of documentation on parallel testing for web tests, but I've struggled to find resources on how to do this for desktop applications. Can anyone provide assistance or point me in the direction of relevant resources?Solved1.3KViews0likes5Comments