我们正在尝试使用TestComplete在我们的日常构建中集成测试,到目前为止,我们有一台专用于测试的机器,我们的构建脚本会将TestComplete测试所需的一切复制到此机器(应用程序,数据库,测试脚本项目和源文件)等等。)
基本上我们可以手动打开TestComplete项目并运行测试。
现在我们想要自动化这个过程,那你怎么做呢?或者您认为如何实现这种自动化是最简单,最好的方式?
保持简短,我们希望在每次构建后自动执行打开TestComplete的过程,运行所有测试并发送包含测试结果的电子邮件。
任何人都可以分享一些经验吗?
感谢。
答案 0 :(得分:4)
回答我自己的问题:
解决方案是编写一个小C#应用程序,它位于系统托盘上并监视文件夹。
当一个新文件夹(包含测试源代码)被添加到受监视文件夹时,使用命令行调用TestComplete,然后应用程序捕获其ExitCode并发送一封电子邮件,其中附带生成的日志文件。
根据ExitCode我知道测试中发生了什么,可能的ExitCodes是:
0 - 最后一次测试没有产生错误或警告 1 - 最后的测试结果包括警告,但没有错误 2 - 最后的测试结果包括错误 3 - 由于错误
,无法运行测试有关ExitCodes的更多信息可以在TestComplete的帮助文件中找到。
答案 1 :(得分:3)
好吧,虽然我没有使用TestComplete,但我使用了一个名为QA Wizard Pro的竞争软件包。既然你问这个问题,我假设它不是TestComplete原生支持的东西。 QA向导的方式相同,他们希望手动而不是自动运行,尽管有可运行的测试运行文件。对于QA向导,我创建了一个从任务调度程序每晚运行的批处理文件。运行该软件的帐户必须能够与桌面交互,并且用户必须使用显示器登录。我使用了一个名为AutoHotKey的免费软件来自动运行测试,然后使用一些Cygwin工具来解析结果,并通过Blat通过结果触发电子邮件。它不是一个完美的解决方案,但确实有效。
答案 2 :(得分:2)
您还应该看一下使用TestExecute。这是一个(便宜得多)来自Automated QA的程序,它将执行TestComplete脚本。
这将使您不必拥有构建/测试服务器的完整TestComplete许可证。
答案 3 :(得分:2)
如果你有TestExecute,试试这个。每次都有效......
C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e
答案 4 :(得分:1)
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文件并将其放在集成服务器上 通过bat文件浏览上面提到的.vbs文件的路径你的TestComplete exe。
对于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服务器生成任务。
答案 5 :(得分:1)
对于仍在寻找此问题的人:SmartBear为Jenkins发布了TestComplete插件。因此,它现在可以在不需要黑客攻击的情况下使用。
有关插件的信息:https://plugins.jenkins.io/TestComplete
新闻稿:https://smartbear.com/news/news-releases/smartbear-simplifies-continuous-delivery/
答案 6 :(得分:0)
有不同的方法来执行此活动。最好和最强大的方法是使用Cruise control.NET进行测试/开发周期的持续集成。
第二种方法是使用命令行参数创建批处理文件以运行测试完成脚本。安排运行此批处理文件。还包括一个简单的应用程序(将更新Excel /测试用例中的测试结果)作为testApp。并在每个测试用例/场景运行后调用它。创建邮件程序功能,以在完成TC运行后发送此结果。
我已经使用了这两种方法,
答案 7 :(得分:0)
最简单的解决方案是使用批处理文件从命令行执行testcomplete,并将其添加到Windows调度程序中。
答案 8 :(得分:0)
你可以尝试詹金斯。在最基本的情况下,您可以使用一个构建步骤(批处理或bash脚本)创建一个项目,该项目在预定时间从命令行调用Test Complete或Test Execute。然后,您可以根据需要添加其他构建步骤。例如,当我们的测试运行时,我们从源代码控制中提取最新版本的Test Complete脚本。 Jenkins具有很好的功能,例如构建项目的归档(在测试完成的情况下,这将是您的测试日志),电子邮件通知和源控制存储库的监视。大型插件库涵盖了您可能想要添加到项目中的大多数其他内容。
答案 9 :(得分:0)
您可以使用Bamboo的TestComplete任务使用TestComplete或TestExecute运行TestComplete测试并在Bamboo中解析测试并将它们集成到JIRA中。 https://marketplace.atlassian.com/plugins/com.mdb.plugins.testcompletetask/server/overview