我们正在尝试使用 TestComplete 将测试集成到我们的日常构建中,到目前为止,我们有一台专用于测试的机器,并且我们的构建脚本将 TestComplete 测试所需的一切(应用程序、数据库、测试脚本项目和源文件等)复制到这台机器上。

基本上我们可以手动打开 TestComplete 项目并运行测试。

现在我们想要自动化该过程,那么该怎么做呢?或者您认为如何实现这种自动化最简单、最好的方法?

简而言之,我们希望在每次构建后自动化打开 TestComplete 的过程,运行所有测试并发送包含测试结果的电子邮件。

任何人都可以分享一些这方面的经验吗?

谢谢。

有帮助吗?

解决方案

回答我自己的问题:

解决方案是编写一个小型 C# 应用程序,该应用程序位于系统托盘上并监视文件夹。

当将新文件夹(包含测试源代码)添加到受监视文件夹时,使用命令行调用 TestComplete,然后应用程序捕获其 ExitCode 并发送一封电子邮件,其中附加了生成的日志文件。

根据我知道测试中发生的情况的 ExitCode,可能的 ExitCode 是:

0 - 上次测试未产生错误或警告。
1 - 最后的测试结果包括警告但没有错误。
2 - 最后的测试结果包含错误。
3 - 由于错误而无法运行测试

有关 ExitCode 的更多信息可以在 TestComplete 的帮助文件中找到。

其他提示

好吧,虽然我没有使用 TestComplete,但我使用了一个名为 QA Wizard Pro 的竞争包。既然你问这个问题,我假设它不是 TestComplete 本身支持的东西。QA 向导也是同样的方式,尽管有可以运行的测试运行文件,但他们希望手动运行而不是自动运行。对于 QA 向导,我创建了一个批处理文件,该文件每晚从任务计划程序运行。运行软件的帐户必须能够与桌面交互,并且用户必须登录 一个显示器。我使用了一个免费软件,叫做 自动热键 自动运行测试,然后进行一些 西格文 用于解析结果并触发电子邮件的工具 布拉特 与结果。这不是一个完美的解决方案,但它确实有效。

您还应该考虑使用 TestExecute。这是一个来自自动化 QA 的(便宜得多)程序,它将执行 TestComplete 脚本。

这将使您不必为构建/测试服务器拥有完整的 TestComplete 许可证。

如果您有 TestExecute,请尝试此操作。每次都有效....

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs(your script path)"" /r /p:(Project Name) /u:(Unit Name) /rt:(Method to be executed) /e /SilentMode")

在记事本中复制以上行并将其另存为 .vbs 文件。
制作一个 .bat 文件并将其放在您的集成服务器上。
通过 TestComplete exe 的 bat 文件浏览上述 .vbs 文件的路径。

对于bat文件,您可以直接在记事本中编写这些行:

C:\WINDOWS\system32\cmd.exe
WScript.Echo ""
Set wshShell = CreateObject("WScript.Shell")
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs"" /r /p:prj1 /u:Unit1 /rt:Test1 /e") 

使用 .bat 扩展名保存此 txt 文件。然后通过 CI 服务器生成任务。

对于仍在寻找此内容的人:SmartBear 发布了 Jenkins 的 TestComplete 插件。因此,现在无需侵入即可使用它。

有关插件的信息: https://plugins.jenkins.io/TestComplete

新闻稿: https://smartbear.com/news/news-releases/smartbear-simplizes-continuous-delivery/

有不同的方法可以进行此活动。最好和最强大的方法是使用 Cruise control.NET 进行测试/开发周期的持续集成。

第二种方法是创建一个批处理文件以使用命令行参数运行测试完整脚本。安排该批处理文件的运行。还包括一个简单的应用程序(它将更新 Excel/测试用例中的测试结果)作为 testApp。并在每个测试用例/场景运行后调用它。创建一个邮件程序函数以在完成 TC 运行后发送此结果。

我已经使用了这两种方法,

最简单的解决方案是使用批处理文件从命令行执行 testcomplete,并将其添加到 Windows 调度程序中。

你可以试试詹金斯。最基本的是,您可以使用一个构建步骤(批处理或 bash 脚本)创建一个项目,该构建步骤在计划的时间从命令行调用“测试完成”或“测试执行”。然后,您可以根据需要添加其他构建步骤。例如,当我们的测试运行时,我们从源代码管理中提取最新版本的测试完成脚本。Jenkins 具有很好的功能,例如构建项目的存档(在测试完成的情况下,这将是您的测试日志)、电子邮件通知和源代码控制存储库监控。大型插件库涵盖了您可能想要添加到项目中的大多数其他内容。

您可以使用 Bamboo 的 TestComplete 任务通过 TestComplete 或 TestExecute 运行 TestComplete 测试,并解析 Bamboo 中的测试并将它们集成到 JIRA。https://marketplace.atlassian.com/plugins/com.mdb.plugins.testcompletetask/server/overview

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top