在本地运行测试时将状态报告回TeamCity

时间:2017-11-27 16:35:14

标签: continuous-integration teamcity autoit

我们在AutoIt中为我们的Windows应用程序制作了一个测试框架(我们将继续支持的旧版旧应用程序)。这些从未按计划或CI的一部分运行(始终是手动运行)。我尝试从测试中获得某种自动运行(甚至只是状态报告),运气最少。

我有一个可以运行测试的VM。我尝试使用自己的网络应用程序,在运行和状态报告方面可以在本地运行。但是当在服务器上设置时,AutoIt报告它无法打开应用程序。如果我尝试从.bat文件运行测试,也会发生同样的事情。

我目前的解决方案是让AutoIt调用我的网络应用报告状态(在本地工作正常,在服务器上未经测试),或者看看我是否可以让AutoIt将结果报告给TeamCity。我安装了代理,但是当我从TeamCity运行构建时,AutoIt报告它无法启动应用程序。我在登录虚拟机时尝试了这一点,注销了,RDS打开了;没有运气。

是否可以从VM手动运行测试并将结果发送回TeamCity?当我从TeamCity运行它时,它会读取AutoIt输出(这是预期的格式),但我需要让TeamCity知道更新结果(因此我们可以使用TeamCity而不是我的Web应用程序来显示结果)。

我可能需要找到一种让TeamCity知道已经开始构建的方法,然后可以让它知道要关注进程的输出,但我不是正面的。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,所以传统上可以做得更好。

如果有人对“从控制台运行代理”的含义感到困惑,那只是意味着安装代理而不选择“作为服务”复选框,然后通过cd到{{1来手动启动代理目录并运行命令BuildAgent/bin。我还创建了一个自动执行此操作的批处理文件(但您必须以管理员身份运行它)。

此外,如果测试没有从正确的目录运行,我发现AutoIt无法做任何事情,所以我不得不为此设计一个解决方案。

现在唯一的问题是,我必须将旧笔记本电脑始终连接到运行测试和应用程序的虚拟机(因为如果没有VM桌面交互,AutoIt测试将无法运行)。