通过 FinalBuilder 上的 TestComplete 7 进行 Delphi 项目测试

发布于 2024-08-24 02:28:03 字数 531 浏览 9 评论 0原文

我们一直在使用 FinalBuilder 作为 Delphi 项目的持续集成服务器。

目前,我们的构建从 subversion 签入自动触发,dUnit 测试在单元测试可执行文件构建后运行,AQtime 在单元测试可执行文件运行时生成测试覆盖率统计数据。

我们的下一个目标是让我们的回归套件(在 TestComplete 7 中开发)作为夜间进程运行。我们尝试了通过 COM 启动 TestComplete 的 vbs 脚本和 FinalBuilder 本身附带的 TestComplete 任务。两种方法都会启动 TestComplete,并且应用程序在交互式运行 FinalBuilder 项目时成功。

但是,当我们将作业提交到 FinalBuilder 服务器时,TestComplete 脚本崩溃,因为 TestComplete 似乎无法读取应用程序屏幕。我们认为可以通过允许每个服务(TestComplete 和 FinalBuilder)与桌面交互来解决这个问题,但这并不起作用。

有人能够让 TestComplete 7 项目在 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 in 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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

始于初秋 2024-08-31 02:28:03

我在从 FinalBuilder Server 运行的 FinalBuilder 项目自动制作应用程序屏幕截图时遇到了同样的问题。有效的解决方案是“VMWare - 执行来宾命令”操作,其命令设置为“在来宾操作系统中以交互方式运行程序”。您必须将访客凭据设置为虚拟机的交互式用户。

如果您的构建服务器本身在 VM 内运行,则必须将主机名设置为安装 VMWare 的计算机才能使其正常工作。但我没有尝试这样做,因为我的 FB 服务器在物理机上运行。

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.

绅刃 2024-08-31 02:28:03

来自我对类似问题的回答的无耻插件此处

  • 在构建服务器上设置虚拟机。您的构建在虚拟机中执行。您可以锁定主机(也称为您的构建服务器)以确保安全。
  • 让某人始终保持登录状态。这可能会产生安全问题。您可以通过移除鼠标、键盘和屏幕并仅通过 RDP 或类似方式访问构建服务器来缓解此问题。

查看Testcomplete 常见问题解答:< em>TestComplete可以在计算机锁定时执行脚本吗?

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?

飞烟轻若梦 2024-08-31 02:28:03

事实证明 FinalBuilder 服务器无法运行与 GUI 交互的测试完整项目。

为了解决这个问题,我创建了一个计划任务来运行一个运行 TestComplete 项目的 VBS 脚本。然后,该脚本将 HTML 输出复制到 FinalBuilder 监视的另一个文件夹。

FinalBuilder 项目解析 HTML 并发送一封电子邮件,其中附有摘要结果和 HTML。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文