Forum Discussion

mbeckham's avatar
mbeckham
Occasional Contributor
4 years ago

Test automation on Virtual Machines

Hi,

I'm looking for any alternative methods to perform our nightly automation testing.

Our current train looks like this:

1. Tests developed on my local PC are pushed to an Azure Repository.

2. In DevOps we have a Pipeline task 'TestExecute test adapter installer' that triggers the test suite to run overnight.

3. Our target TestMachine is a VM with TestExecute deployed and an Agent listening for work from the DevOps pipeline.

4. We RDP to the TestMachine and can watch the tests executing.  So far, so good.

5. The problem occurs when the Machine used to RDP to the TestMachine invokes its screen saver or powers down causing the tests to fail.  Our current RDP machine had the Power & Sleep settings set to 'Never' but it was still going into sleep mode. (I'm currently trialling a work around that involves an easy fix to a registry value to expose the 'System Unattended Sleep Timeout'; that was set to 15 minutes; in Advanced Power Options https://windowsreport.com/windows-10-goes-to-sleep-after-2-minutes/ ).

If the work around fails, and I have to eliminate using RDP, what are my other alternatives(if any) to run automation on the VM.  Relocating TestExecute onto a physical machine is not an option.

 

Also, if anyone has had a successful outcome using SessionCreator on remote virtual machines, I would dearly like to hear from them. 

 

Thanks

Mark

  • mbeckham's avatar
    mbeckham
    4 years ago

    Hi Everyone,

    Alex, you've stolen my thunder 🙂   I was just about to report our success with tscon.  We ran the command manually on the RDP machine which 'shut' it down while the Agent was 'listening' for work.  Our next step will be to create the batch file to run the tscon command and include it in the nightly pipeline.

    So, to run this command (as Alex says, run as an administrator )  within the RDP window, from the Command Line. 

    >query user          (this will return the sessionname eg rdp-tcp#xx)

    >tscon.exe  rdp-tcp#xx  /dest:console

    respond "yes" to to close your session

    ...all done

     

    • mbeckham's avatar
      mbeckham
      Occasional Contributor

      Thanks for your reply Marsha,

      We've tried several options, and can successfully run our Devops pipeline on the remote VM providing a RDP session initiated from a machine that has its Power and Screen saver options turned off.

       

      We will try the method using  tscon documented in  Disconnecting From Remote Desktop While Running Automated Tests.  If we have success running the tscon command manually, we'll then try inserting it into the pipeline.

       

      Thanks

      Mark

      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        Hi,

         

        If we have success running the tscon command manually

        Just a note that tscon must be executed with elevated admin credentials.

         

    • jr348's avatar
      jr348
      Contributor

      We had exactly the same issue last night when an IT upgrade disconnected the RDP machine.  All the tests failed due to no UI.

       

      The reference doesn't advise on how to keep tests running when the RDP session disconnects.

       

      We're trying to integrate TestExecute with our Devops pipeline as well so are keen to see the solution.