"Interactive user session" issue with TestComplete and Jenkins Integration
Hi All,
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/".
To summarize...
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.
Thanks,
Saravana
Hi all,
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.