How to run microfocus silk test as a build step

Completed

I am trying to hook in some legacy silk tests into team city for better automation purposes. Since silk is a desktop application I have to run the TeamCity Agent as an application and not as a service (services don't have access to the Windows desktop so silk won't launch in this configuration). The silk testing drives automation of a web browser that tests our application via browser interactions with our web application.  The silk tool is a windows only application.

I have setup the following build steps in TeamCity.

1. Cleanup files from prior runs (Windows command line exec of  a bat file).

2. (Re)Install web application and server and start server (ssh exec of a python script on remote server).

3. Start silk test (Windows command line launch of silk application with appropriate command line arguments).

The test starts and runs properly for a few minutes then either the browser crashes or hangs.  From working with MicroFocus they indicate that a key subprocess from an executable named 'heartbeat_x86' is not running or is being killed by TeamCity.  From testing we see this heartbeat process is started when running manually, but this process never starts when launched via TeamCity build step #3 listed above (or more exactly we never see this process show in task manager).

Are there any TeamCity or windows limitations that would prevent this heartbeat process from starting when the silk application process is launched from TeamCity via a 'command line' build step?

 

 

0
2 comments

Hi,

 

I'm not familiar with the specifics of silk, it seems similar to selenium, but I don't really know how it works at the basic level, so please be aware of that during troubleshooting. With this in mind, I assume you are running this as a command line step. This just spawns a separate process that runs the script you perform, so the best idea here would be to try and debug that separately. Maybe the user does not have enough permissions to run that process, or there is anything else in the environment. If it works just fine with the same user and setup, please log in to the build agent machine with the same user that runs the build agent process, cd into the work directory of the agent and try to run it from there. If it still works, try stopping the build agent, and loading it from that same shell and repeat the process. If at that point it works from the command line and fails from teamcity, it might be that windows is somehow preventing teamcity from spawning that extra process.

0
Avatar
Permanently deleted user

Updating in case anyone else is trying to do this.

We were able to get past this issue by setting the environment variable SILKTEST_ENABLE_PARALLEL_TESTING=FALSE. This disables the need to spawn the heartbeat process which was causing silk to not run as launched by Team City. 

Note that the value FALSE is case sensitive, using false will not work.

0

Please sign in to leave a comment.