Ranorex unable to find pointer without remote connection.

Ask general questions here.
e_sooter
Posts: 2
Joined: Thu Mar 08, 2018 7:14 pm

Ranorex unable to find pointer without remote connection.

Post by e_sooter » Wed Mar 28, 2018 7:24 pm

I cannot run my Ranorex tests on my test machines when I do not have a remote desktop connection to them. When I do not have a remote session, the error I get is as follows:
The pointer cannot be moved to point '{X=-1829,Y=-756}' since it is outside of the visible desktop.

My machines have a physical mouse plugged in, and I am using Sysinternals autologon to make sure that I have logged in as my user. I launch my tests remotely, as administrator, via a Jenkins client. My test machines are Windows 10, on the latest update, and have a physical mouse plugged in. They do not have a monitor plugged in. I am running Ranorex 7.1, and am running a compiled test on a machine that has a valid executor licence.

If start a remote connection to the use mid test, I see my application launched, and the Ranorex box in the bottom left corner of my screen, and my mouse is immediately taken over and the test resumes as i would expect. When I terminate the remote connection, I begin seeing the error listed above.

Is there some hardware requirements for running Ranorex that I am not aware of? To my understanding, if I am logged in and have a mouse, the Ranorex test should run without issues. Is there a setting I am missing?

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: Ranorex unable to find pointer without remote connection.

Post by odklizec » Thu Mar 29, 2018 8:39 am

Hi,

The problem of Remote Desktop is that it must not be terminated or even minimized! Once the RD is terminated/minimized, desktop on remote machine is immediately locked. This is a RD security "feature". There are some hacks allowing RD connection to stay active, even after closing RD window. But I think that much more reliable solution is to ditch RD and use something more powerful, like Jenkins. Another possibility is to use some kind of VNC tool, which keeps the connection open even after closing the VNC window.
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex unable to find pointer without remote connection.

Post by krstcs » Thu Mar 29, 2018 1:58 pm

Small correction: Jenkins does not make the desktop stay realized, you still need to have some form of VNC or the RD hack to keep the remote desktop open. Jenkins just allows for running scripts against the remote systems from a central web page.

Ranorex requires a realized desktop (not locked, no screensaver, logged in user) in order to work, due to Windows security restrictions.
Shortcuts usually aren't...

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 3930
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: Ranorex unable to find pointer without remote connection.

Post by odklizec » Thu Mar 29, 2018 2:54 pm

Small correction: Jenkins does not make the desktop stay realized, you still need to have some form of VNC or the RD hack to keep the remote desktop open.
Well, I'm not using any kind of RD of VNC on my Jenkins setup? ;) I'm using master/slave configuration and I believe Jenkins agent keeps the slave's desktop open (as long as the Jenkins agent is running on slave VM)?
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex unable to find pointer without remote connection.

Post by krstcs » Thu Mar 29, 2018 3:15 pm

My guess would be that it isn't actually Jenkins keeping it open, unless you are using some plugin I'm not aware of (please let me know if that's the case, so I can look into it!!! :D ), but that your VM manager is keeping the desktop realized. For example, I believe you can set VMWare to keep the desktop realized on the VMWare manager software. We're using Azure, so that isn't an option for us. I'm also pretty sure that VirtualBox can do that, too.

But, I've been known to be wrong before. :D
Shortcuts usually aren't...

e_sooter
Posts: 2
Joined: Thu Mar 08, 2018 7:14 pm

Re: Ranorex unable to find pointer without remote connection.

Post by e_sooter » Thu Mar 29, 2018 5:27 pm

It should be noted that my test machines are physical boxes that were once workstations that I taken as my test machines. They are not virutal machines, but i dont have physical access to them. I have launched the Jenkins web client via the java package taken from the website (JNLP).
krstcs wrote:Ranorex requires a realized desktop (not locked, no screensaver, logged in user) in order to work, due to Windows security restriction
I have made sure there are no screensavers on the machine, and I have forced them to login automatically using autologin.exe created by sysinternals (the same I use for other test machines for manual testing). I have also started the Jenkins agent from the Windows Task Scheduler as Admin, so that the Jenkins agent is not started from a remote session. All of that should mean that the machine is logged on, without a screensaver, and not locked. Is there another way I should be setting up my test machines?

krstcs
Ranorex Guru
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Ranorex unable to find pointer without remote connection.

Post by krstcs » Thu Mar 29, 2018 9:12 pm

They would still need to have monitors attached, or an RDP or VNC session. Most modern versions of Windows will still not fully realize the desktop without a display attached. When I mean realize, it has to have all three aspects I mentioned above, and it has to be able to draw to some display. If the desktop is not being drawn on some display (even a virtual display like with VNC) then the automation will not work, because Windows will not actually draw the screens, so there will be no real DOM for Ranorex to look at.

I would still go with VNC, it's just easier to deal with, and you won't need a monitor attached, even on real hardware.
Shortcuts usually aren't...