I know this is a somewhat trodden topic but just wondering if anyone has new solutions.
I would like to have a Bamboo build trigger a TestExecute session on a remote VM.
Anyone have any ideas that don't require PSEXEC? Our IT guys aren't crazy about installing this due to security concerns.
The trick is also that I want to trigger the tests from our build server (HOST_A) to run on a remote VM setup with TestExecute (HOST_B) so not super straight forward to do.
Thanks for any ideas
I also know I can use a NetworkSuite. However, I'd rather not have to waste a runtime just to start another runtime on a remote VM.
From Smartbear. Not a good idea to trust PSEXEC to work:
"There is a number of known problems with psexec and we cannot guarantee that TestComplete / TestExecute will work correctly when launched by psexec - that's caused by some specifics of the third party tool's implementation. This means that you may observe problems with tested applications launched by psexec as well.
If you need to run TestComplete tests remotely, we recommend that you consider using the Network Suite feature instead (see the "Distributed Testing" (http://smartbear.com/viewarticle/80602/) help topic for more information)."
That said, I would still like a way where I don't have to use two licenses via NetworkSuite (master and slave) to run one test suite triggered from Bamboo.
The quest continues.
I'm assuming Bamboo doesn't allow you to open a WScript shell prompt or command prompt and just execute a command line? That seems to be the quickest work around. It's not a direct integration between Bamboo and TestExecute, but it will at least allow you to run the tests.
I did not use Bamboo but in order to run TestComplete/TestExecute tests that interact with the UI of the tested application, the following must be done on the target test machine:
-- There *must* exist interactive user session for the user on behalf of whom tests are planned to be executed;
-- TestComplete/TestExecute (TC/TE) must be installed on the test machine;
-- TC/TE must have access to the test code (it's OK if the test code is on some shared network resource);
-- Tested application must be installed on the test machine.
So your task is to ensure that interactive user session exists on the remote machine; launch TC/TE inside this session and command it (TC/TE) to execute your tests.
The most reliable experience that personally I had for this type of task was to use the Remote Desktop Plus (http://www.donkz.nl) utility to open remote desktop session on the remote computer (utility supports encrypted credentials, something that is not easy to get with the regular mstsc one) and to use psexec to start TC/TE in the required session. As a possible workaround, you may consider to create a scheduled task on the remote test machine and set this task to execute when the user logs in and command the task to start TC/TE and execute your tests.
@tristaanogre the problem is I'm trying to execute tests on a remote VM, not the build server machine. This is the crux of the problem 🙂
@AlexKaras thanks for that Alex! I have used the NetworkSuite many times so am familiar with all that is required session-wise.
I have not been able to get PSEXEC to work with any kind of stability (TE might start but then its dialogs are gray and black with no text) at all but will check with RD Plus.
But thank you for the idea of tasks. Looking at the task scheduler, I may be able to inject my own event linked to a task which would launch TE from the command line pointed at my relevant test.
Will let you know how I go.
I see TestComplete now has a plugin for Jenkins that sounds like it handles the "headless mode" issue. I believe this is a new feature as of v12. Can anyone provide feedback from using this plugin? Does anyone know of a solution for Bamboo besides the above? The above sounds like I'd still have to open an RD session from another VM using RemoteDesktopPlus and deal with timing issues since I'll also be starting the VM(s) from Bamboo. TIA!
Here’s some of what I found on this issue:
TestComplete for Bamboo:
https://marketplace.atlassian.com/plugins/com.mdb.plugins.testcompletetask/server/overview - this sounds like it’s just for parsing (http://www.autotestingtools.com/testcomplete-task)
https://autumnator.wordpress.com/2011/11/18/how-to-run-remote-headless-gui-automation/ - this sounds like it has the same issue of having to initiate a remote desktop session with VNC.
Well, it seems like this is no longer an issue. I have it setup through the registry (RUN) to auto-logon and then start the remote agent; the remote agent then starts the TC tests through our framework, I think the issue was using tscon.exe to disconnect does not always work. So I just always reboot to run the tests on a "fresh boot".
After more testing, it seems like the screen resolution is changing when using tscon.exe to close the RD session. This is on Win2012R2 and the work-around is to set the resolution (using Set-DisplayResolution) before running the tests.