【问题标题】:Delphi project testing via TestComplete 7 on FinalBuilder在 FinalBuilder 上通过 TestComplete 7 进行 Delphi 项目测试
【发布时间】:2010-03-04 22:08:51
【问题描述】:

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

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

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

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

有人能够让 TestComplete 7 项目在 FinalBuilder 中正常工作吗?

【问题讨论】:

  • 是的!所以有希望,但是不是我做的,所以我不会发布答案。这与屏幕保护程序或计算机被锁定或类似的事情有关
  • 这肯定不是屏幕保护程序或计算机被锁定。我在登录到运行 FinalBuilder 的 VM 时对此进行了测试。它以交互方式工作正常,但在将作业提交到 FinalBuilder 服务器时却不行。

标签: delphi continuous-integration finalbuilder testcomplete


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我对类似问题here的回答中的无耻插件

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

    看看Testcomplete FAQTestComplete可以在电脑被锁定的情况下执行脚本吗?

    【讨论】:

    • 构建服务器和测试完成已经在虚拟机上运行。
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2013-12-07
      • 1970-01-01
      相关资源
      最近更新 更多