当所有测试用例都通过远程powershell作业运行时,如何在同一azure构建管道中发布vs测试结果
如果azure devops build pipeline中已经提供了该流程,有人可以指导我完成该流程吗?当所有测试用例都通过远程powershell作业运行时,如何在同一azure构建管道中发布vs测试结果,azure,azure-devops,azure-pipelines,Azure,Azure Devops,Azure Pipelines,如果azure devops build pipeline中已经提供了该流程,有人可以指导我完成该流程吗? 我想完成以下任务: 通过远程powershell在azure windows VM上运行测试用例。(完成和完成) 通过vstest.console成功运行测试脚本后生成测试文件(例如.trx)(完成和完成) 在repo中构建或发布测试结果文件,或者以某种方式将结果包含在要发布的管道中。(卡在此步骤中) 我已经完成的是我可以将结果推回到存储库并在新的管道中发布,这个过程可以吗,或者有其他方法
我想完成以下任务:
长问题短:1。如果软件在VM上部署和测试(通过远程powershell),如何发布同一生成事件的测试结果?更新: 因为复制任务不起作用。有一种变通方法可以将测试结果从azure vm移动到azure构建代理 您可以创建一个服务器()并将测试结果上载到web服务器(使用kudu api) 然后,您可以添加一个powershell任务来调用kudu api,将测试结果下载到azure代理。请查看完整的脚本示例,以及有关kudu api的更多信息
在构建管道中,您可以添加一个远程复制任务(或通过SSH复制文件任务),将测试结果文件从VM复制到代理上的(例如
$(Agent.BuildDirectory)\TestResults
)。例如下面的例子
您需要复制所有生成的结果文件
然后您需要添加一个来发布测试结果
在执行发布测试结果任务时,您很可能会遇到以下警告,即.log,.html未找到
发生上述警告的原因是,当您将测试结果文件从远程vm复制到代理时,这些文件的路径会更改。您需要将trx文件中的文件路径更改为其在代理中的正确位置($(Agent.BuildDirectory)\TestResults)
您可以将trx文件中的文件路径替换为
我在上述步骤中使用的任务如下所示
如果以上所有步骤都设置正确,则在构建运行完成后,您将在测试选项卡中看到测试结果
我最近回答了(或重新发布了某人的旧答案)一个类似的问题,请检查这是否有帮助:您好@devOps_7您有机会查看下面的答案吗?进展如何,如果有任何问题,请告诉我。如果是“通过SSH复制文件”,源文件夹必须是通过预定义变量进行管道传输的可用文件夹之一,并且不会扫描远程pc,而如果是“远程复制”作业,两个文件夹必须位于同一台远程pc或两台不同的远程pc中,但是,如果您无法访问要设置为“目标文件夹”的发布管道中的文件夹,则有一个解决方法,您可以创建azure web app服务并使用kudu api将测试结果上载到web app服务器,然后使用kudu api将文件下载到您的代理。我更新了下面的答案。