ContributionsMost RecentMost LikesSolutionsDistributed testing: Cannot load the remote project. Reason: Timeout Expired Hi, We have a master machine with a Master suite that start our Slave suite (UI tests) on different VMs. The master machine and the VMs have all the same version of TestComplete and TestExecute (12.10.590.7). Recently an exception is causing us a lot of issues. When we run the tests from the master on our VMs, sometimes it is not working because of the exception: "Cannot load the remote project. Failed to invoke an object. Reason: timeout expired" and "Cannot close the remote instance of TestComplete(TestExecute). Object disconnected". (Please see the screenshot) This exception seems to occur when the task associated to the VM is the State 2: Initializing. This exception is not happening all the time and not always the same VMs. It is causing a lot of problem for us because we need to repeat the tests that didn't run again and again. What is the timeout which is mentioned in the exception ? Does anybody has faced the same issue ? Thank you for your help, Camille Distributed Testing: Host Object disconnected Hi all, we are running into a recurrent issue with our UI Distributed Testing. We are using TestComplete 12.10 on all our machines. Master project is running on QA Master VM. This Master project run different Slave project on several QA Slave VMs. Each VM has a Host associated with it. Time to time we are experiencing an issue with some Hosts: Object Disconnected. In our process we are verifyng the Host manually before starting tests on it: if(task.Host.Verify(10))//TimeOut of 5min { //Run the tests } If the Host can be verified, we run the particular task on this Host. Running means TestComplete will first Fast Verify the host of the task (State: ( 9 - ns_FastVerifying), then Initialize (State: 2 - ns_Initializing) and finally Run the tests (State: 3 - ns_Running). Please check this page for further information. But sometimes the timeout associated with the host expires when TestComplete perform the Fast Verification, even though we performed the verification manually in the code just before. So the verification failed, so does the task... (default timeout on each host is 10min) TestComplete then log an error : Object Disconnected TestComplete does not give any more information about the issue... Is there a way to have better understanding on the issue ? (I tried to look into Event Viewer on the specified Host but didn't find anything related) Is this something related to TestCompleteService that crashed ? Maybe this is an issue with our VMs, so we want to know if anyone has ever experienced this issue ?? Thanks for your feedback and answers, Camille Tasks Errors: Tasks stuck in initialized mode Hi all, We are using TC12.10. Our Master project uses different Tasks and Hosts to run in parralel our UI Desktop Tests (Slave project) on several VMs. We have noticed that some tasks are stuck in the initialized state sometimes. On the Slave machine the UI Tests are running but the Master project is not sync (State of task doesn't change and no log for the tests that were running on the Slave machine) and doesn't know when the tests are completed. That means that at the end of the tests on these VMs, TestExecute's process is still running on the Slave Machine and the Master project is also still running even though all our tests are completed. Does someone ever experienced this issue ? Is there a solution to know when the tests are done on the Slave Machine and to inform the Master project ? Or maybe change the state of the task manually ? We looked into the EventViewer of the VM which was running the task that was stucked in the initialized state. And we noticed this particular event at the same time the tests where running and the task seems to be stucked: Fault bucket , type 0 Event Name: RADAR_PRE_LEAK_WOW64 Response: Not available Cab Id: 0 Problem signature: P1: TestExecute.exe P2: 12.10.590.11 P3: 10.0.14393.2.0.0 P4: P5: P6: P7: P8: P9: P10: Attached files: \\?\C:\Users\MC_QA\AppData\Local\Temp\RDRA4B4.tmp\empty.txt \\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA4C5.tmp.WERInternalMetadata.xml These files may be available here: Analysis symbol: Rechecking for solution: 0 Report Id: a03704c6-1eac-11e7-9c1b-00155d020e41 Report Status: 524384 Hashed bucket: I don't know if this event is related to the issue. It seems that RADAR_PRE_LEAK_WOW64 is a software feature to prevent leaks of memory. Re: Tasks set at running state even when test run is complete Yes we can kill the process after the tests are done. But that will require to kill TestExecute from TestExecute. And this doesn't help me to know why the tasks are still on running state even if the tests are done. Re: Screen resolution of a VM using RDP with TestComplete We did find a way to change the default display settings on our Master VM. We did it with Hyper-V. But the problem was not solved. Our UI tests were still running with the resolution 1024x768. According to this article on SmartBear documentation, TestExecute will use the master computer screen's resolution on the remote computer: When running tests on a remote computer that participates in distributed testing, TestComplete creates a Remote Desktop session and automatically sets the master computer's screen resolution on the remote computer. This is done to avoid possible problems with test running. It seems that this is not working like that in our case. We did the same thing with our slave VMs: change the resolution with Hyper-V (Open Hyper-V Manager; Connect to each VM with console session; Go into the display settings as you normally would and change the resolution there). And now our UI tests on these hosts / slave machine are using this resolution set locally. So our problem is solved by changing the resolution locally on each slave machine and not on the master one ! I don't know if we have misunderstood something in the article or in the way TestComplete/TestExecute create the RDP Session. EDIT 2/28: In addition with the change of resolution on each slave machine, we did change something inside our master project. We were using Network Suite and Automatic RDP session on host. To make it work with the new resolution we are using Automatic Console Session. This is an important change I forgot to mention... TestComplete is not using RDP then and it will use the display resolution of the host and not the master, this is why it is working for us. Re: Screen resolution of a VM using RDP with TestComplete We are investigating this solution. (This is not so perfect for us because we are not the team in charge of this VM) We tried also to modify the default resolution directly through registry; without success. It seems that this default resolution (1024x768) is set by Hyper-V, and the session of the TeamCity agent will use that as it's current (virtual) resolution. Create manually a remote desktop connection and start the tests with TE using Network Suite and Manual mode is not possible also for us... Is there any way to change someting in TestComplete settings to change the resolution used while creating the RDC (Network Suite and Automatic Mode) ? There is also default config file use by RDC (Default.rdp in User\Documents) where you can put default settings for the connection, is this possible to provide or to modify the one used by TestComplete ? We don't know exactly how TestComplete is creating the remote desktop connection, I'm assuming it's using mstsc. If we can provide display settings for this RDC it would be perfect. Tasks set at running state even when test run is complete Hi, We have a master project that start our UI tests (slave project with different tests group) on different hosts (VM). We have a task for each VM. We are using TeamCity to start our tests. There is a queue with our UI Tests and after two other project: WebTesting and LoadTests. But sometimes one of the test group on a VM is complete but the task doesn't come back as idle and stays at running state. This is an issue as TestExecute (running the Master Project) will keep on waiting for all tasks to finish, but since one task is stuck at running state, TestExecute will not stop. Then the other project WebTesting and LoadTests in the queue will not start because TestExecute is still running. Do you have any solution about that ? Why our tasks are staying sometimes on running state after our tests are done ? Thank you for your answers, Camille Re: Screen resolution of a VM using RDP with TestComplete Hi, We are using HyperV as a VM system. How did you proceed to change the resolution on VMs with Hyper V ? Re: Start TestExecute from TeamCity I figured it out. My problem was that I didn't disable "uiAccess" in the "TestExecute.exe.manifest". <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> So the Desktop interaction was needed according to the Manifest of the app. With this attribute to false, TE doesn't require a Desktop / UI Access. So I can start my test directly from TeamCity and this domain system account without interaction with the Desktop. Thank you all for your help !! Screen resolution of a VM using RDP with TestComplete Hi, To test our desktop application we have a Master project that runs the Slave project on different VMs. We are using TeamCity to start our tests. On a TestManagement machine (VM) we have a Build Agent that is running as Service. This Build Agent starts the Master project with TestExecute. This project connects with RDP to different VM to run our UI Tests (Slave project) of our App. We are using Network Suite and run our tests on Hosts (VMs) like it is suggest here: Using Network Suite. But we have an issue with the screen resolution that is used to run our UI Tests. The resolution is too low. This page Running tests via RDP gives an explanation: "When running tests on a remote computer that participates in distributed testing, TestComplete creates a Remote Desktop session and automatically sets the master computer's screen resolution on the remote computer. This is done to avoid possible problems with test running." So TestExecute will use the master computer's screen resolution. But TeamCity Agent is run as a service on a VM (TestManagement machine) and there is no screen resolution because it's an headless machine and not like a real user that will connect with RDP to this VM and start the Master Project. I assume TestExecute will then use the default screen resolution (something like 640x480) as the resolution for the RDP connection. But this is too low to run our tests, some object are not on the screen and we have many issues... Is there a way to change the resolution used by the RDP connection that TestExecute / TestComplete will create ? The tricky part is that the Master project is started from a service on an headless machine... Thank you for your answers, Camille