"Interactive user session" issue with TestComplete and Jenkins Integration
We are trying to schedule a run with Jenkins in our VM. Everything is done as per the suggestion provided in the article "http://support.smartbear.com/viewarticle/73663/".
1. Jenkins Slave is configured using JNLP and corresponding "jenkins-slave" windows service is up.
2. Job is created with "Run interactive user session" option.
3. TestComplete version - v10.60
Job ran but we got the following warning in Jenkins...
"[TestComplete] [WARNING] The node is connected via Java Web Start (JNLP). In this mode, the "Run interactive user session" property of the TestComplete Test step is ignored. TestComplete (or TestExecute) will work in the current user session."
In TestComplete the logs shows the following error...
"The action cannot be executed at this session state (1)."
Could any one please help us to overcome this issue.
Solved! Go to Solution.
Thanks a lot for your concern @sha.
But as of now I have been moved to another Project. I have suggested this solution to the team that currently working on, will get back to you.
Thanks everyone for their inputs that gave us the insight of this issue. After lot of research able to find the the issue and resolved it now.
So here is what we have did and its running smoothly now.
1. Configure Jenkins slave to launch via 'Java web start'.
2. At slave VM, configure AutoLogin (recommend to use the AutoLogin software) and set the user to login.
3. Create a batch file to start the Jenkins Slave at VM.
4. Create a TaskScheduler for above batch file and set it up for the login user (defined at Step-2).
5. Set the above task to trigger at 'At system startup', and it is advisable to give a delayed start like 2 min incase if you face 'session is not-interactive' issue again.
6. Also remove if legalnotiecaption and legalnoticetext registry entries, which would prompt at each login. This would block Auto-login step.
- This can be found under - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Policies\System.
- Else could be defined at Local Group Policy editor as well. Your Sys admin can help to disable it.
7. Finally, if you login to the VM that was running the test and if you want to disconnect. Then create a batch file for the following command and just double-click it, the system would disconnect and session would be available for Jenkins for the next interactive run.
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
Once again, thanks everyone.
Just thought of sharing additional info since we have faced one more issue.
When you do not manually login to slave box or disconnect the session using batch file (as described in above comment) , then the session would be with console.
At that state, the screen resolution could be 1024 x 768.
This was a blocker for our project.
But TC utilities helped to resolve it, by updating the screen resolution.
More details available in this article - Get and set display settings