You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中生成Visual Studio测试日志并保存为工件

实现方案

1. 核心思路

通过配置流水线的测试任务生成Visual Studio原生的TRX格式详细日志(包含VS自动生成的执行信息和代码中Trace.WriteLine的输出),再将日志文件收集并发布为流水线工件,方便后续查看分析。

2. YAML流水线完整示例

steps:
  # 还原项目依赖(若流水线前期未执行此步骤)
  - task: DotNetCoreCLI@2
    displayName: '还原NuGet依赖包'
    inputs:
      command: 'restore'
      projects: '**/*.csproj'

  # 编译测试项目
  - task: DotNetCoreCLI@2
    displayName: '编译自动化测试项目'
    inputs:
      command: 'build'
      projects: '**/*Test*.csproj'
      arguments: '--configuration Release'

  # 运行测试并生成详细日志
  - task: VSTest@2
    displayName: '执行UI自动化测试'
    inputs:
      testSelector: 'testAssemblies'
      testAssemblyVer2: |
        **/*Test*.dll
        !**/*TestAdapter.dll
        !**/obj/**
      searchFolder: '$(System.DefaultWorkingDirectory)'
      configuration: 'Release'
      # 指定生成TRX格式日志,包含详细执行信息和Trace输出
      otherConsoleOptions: '/logger:"trx;LogFileName=TestResults/automation-tests-$(Build.BuildId).trx" /verbosity:detailed'
      # 可选:绑定Playwright配置文件,用于捕获失败截图、视频等
      runSettingsFile: 'tests/Playwright.runsettings'

  # 复制测试日志到工件临时目录
  - task: CopyFiles@2
    displayName: '归集测试日志文件'
    inputs:
      SourceFolder: '$(System.DefaultWorkingDirectory)/TestResults'
      Contents: '*.trx'
      # 若有Playwright截图、视频或其他日志,可追加匹配规则:*.trx;*.png;*.webm;*.log
      TargetFolder: '$(Build.ArtifactStagingDirectory)/TestLogs'

  # 发布日志为流水线工件
  - task: PublishPipelineArtifact@1
    displayName: '发布测试日志工件'
    inputs:
      targetPath: '$(Build.ArtifactStagingDirectory)/TestLogs'
      artifact: 'UI-Automation-Test-Logs-$(Build.BuildId)'
      publishLocation: 'Container'

3. 关键配置说明

  • VSTest任务参数:
    • /logger:"trx;LogFileName=...":指定生成TRX格式日志,这是VS原生测试结果格式,会自动包含测试执行步骤、断言结果、异常信息,以及代码中Trace.WriteLine的输出内容。
    • /verbosity:detailed:将日志级别设为详细,确保VS自动生成的所有执行细节都被完整记录。
  • Playwright可选配置:
    若使用Playwright,可通过.runsettings文件配置失败时自动捕获截图、视频,以及开启详细日志,示例配置如下:
    <RunSettings>
      <Playwright>
        <Browser>chromium</Browser>
        <Headless>true</Headless>
        <ScreenshotOnFailure>true</ScreenshotOnFailure>
        <VideoOnFailure>true</VideoOnFailure>
        <LogLevel>verbose</LogLevel>
      </Playwright>
    </RunSettings>
    
  • 日志验证:
    测试完成后,在流水线的「工件」页面下载TRX文件,直接用Visual Studio打开即可查看完整测试详情,Trace.WriteLine的输出会显示在测试结果的「输出」面板中。

内容的提问来源于stack exchange,提问作者Kev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:03:23