Forum Discussion
1) It tells you, you are using all your licenses. This may be because you only have one and it is already running: Jenkins starts TestComplete/TestExecute and cannot do that if it is already running. So turn off TC/TE before starting it from Jenkins.
2) I am a bit in doubt about the other warning: try to use the 'Run interactive user session'. But it may be that there is a catch 22 here, that the Jenkins/TestComplete integration only works when it has its own session and so you cannot run it on the same machine as you use as your Jenkins server. You may want to ask SmartBear-support about this.
/Søren Harder
Now I fed up with the Integration of Jenkins with TC when both are installed on same machine.
Again I am trying with following approach- To Run TestComplete tests from Slave Machine
1. A Computer Machine where Jenkins is installed that is we can say Master Machine
2. A machine where TestComplete is installed but Jenkins is not installed that is Slave Machine.
3. On Master Computer, Configure Slave Computer as Jenkins Node.
4. Then Connect Slave machine to Master Machine by Launching Jenkins Agent on Slave machine.
Now I Do not clear What would be the required settings on Slave machine to run the testcases from Jenkins. Please suggest step by step procedure for running testcases from Jenkins in Master Slave Environment.
- AlexKaras8 years agoChampion Level 3
Hi,
I did not try TestComplete Jenkins plug-in, but I believe that you've got two cases:
1) When Jenkins starts a job on the slave machine (I believe that the same is applicable to the master one as well) it does this via Slave Agent. Agent can be started either as a service or as a regular application. When you are testing GUI-based application (tested application), the application must be started within some user session (i.e. on behalf of some user that is already interactively logged-in into system) in order to be able to display its UI and make it possible for TestComplete or the regular human user to interact with it. If the Agent is started as a service, then it cannot login interactively, cannot have a user session and thus neither TestComplete nor you can interact with the tested application. The above means that it is required for the Slave Agent to be started not as a service but as a regular application. (Jenkins provides you with the required command-line if you try to start an Agent from the Jenkins console on the slave machine.) However, in order to start Agent as a regular interactive application, the user on behalf of which you are going to run tests must be logged-in interactively into test system.
One possible approach to make things running:
a) Setup your test system to automatically logon as a required test user when turned on -- this will create an interactive user session;
b) Create a scheduled task for the test user and set this task to execute when the user logs-in. Specify the command line to start Slave Agent as a command for the task -- this will start Agent within test user's session and make it possible for the Agent and spawned applications to interact with the user desktop;
c) Do not close test user's session on the test computer;
d) Try to trigger your tests from the Master Jenkins machine.
2) The error that Slave Agent cannot find or start TestComplete/TestExecute might mean the following: if I remember correctly, Agent executes all actions from within the workspace folder and does not have access permissions to anything outside the workspace folder. If this is the case, I believe that you should be able to workaround this by commanding the Agent to execute some command/batch file and put this file into the workspace folder. And start actual tests execution from within this command file.
Hope that the above will help...