Delphi project testing via TestComplete 7 on FinalBuilder
We've been using FinalBuilder as a continuous integration server for our Delphi project.
Currently, we have our builds automatically triggered from subversion check-ins, dUnit tests run after the unit test executable is built and AQtime generating test coverage statistics while the unit test executable is run.
Our next goal is to get our regression suite (developed i开发者_运维问答n TestComplete 7) running as a nightly process. We have tried both a vbs script to start TestComplete via COM and the TestComplete task that comes with FinalBuilder itself. Both methods start TestComplete, and the application successfully when running the FinalBuilder project interactively.
But when we submit the job to the FinalBuilder server, the TestComplete script crashes because TestComplete doesn't appear to be able to read the application screens. We thought this might be resolved by allowing each of the services (TestComplete and FinalBuilder) to interact with the desktop, but that didn't work.
Has anybody been able to get a TestComplete 7 project to work correctly in FinalBuilder?
I have had the same problem with automatically making screenshots from my application from a FinalBuilder project run by FinalBuilder Server. The solution that worked was the VMWare - Execute Guest Command action with the command set to Run a program interactively in Guest OS. You have to set the Guest Credentials to the interactive user of the VM.
If your build server itself is running inside a VM you must set the Host Name to the machine where VMWare is installed to make this work. I didn't try that though, as my FB server is running on a physical machine.
Shameless plug from my answer to a similar question here
- Set up a virtual machine on your build server. Your builds execute in the virtual machine. You can lock the host (aka your buildserver) keeping things secure.
- Keep someone logged on all the time. This could create a security problem. You can alleviate this problem a by removing the mouse, keyboard and the screen and only access the buildserver through RDP or something similar.
Take a look at the Testcomplete FAQ: Can TestComplete execute scripts when the computer is locked?
It turns out the FinalBuilder server can't run test complete projects that interact with the GUI.
To get around this, I created a scheduled task to run a VBS script that runs the TestComplete project. The script then copies the HTML output to another folder which FinalBuilder watches.
A FinalBuilder project parses the HTML and sends an e-mail out with the summary results and the HTML attached.
精彩评论