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

Jmeter生成HTML文件上传GitHub Actions失败,寻求解决方案

GitHub Actions上传JMeter生成的HTML文件失败求助

我尝试通过GitHub Actions上传JMeter执行后生成的HTML报告文件,但执行脚本时出现错误,无法成功上传HTML文件。本地执行时能正常生成index.html文件,希望能在GitHub Actions执行完成后看到两个结果条目:jmeter-results和jmeter-results-HTML。

我的YAML配置文件

name: CI

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

  workflow_dispatch:
    inputs:
      choice:
        type: choice
        description: Environment
        options:
        - test
        - dev
        - uat

jobs:

  build:
    runs-on: ubuntu-latest
    
    steps:
      - uses: actions/checkout@v3

      - name: setup-jmeter
        run: |
          sudo apt-get update
          sudo apt install curl -y
          sudo apt install -y default-jdk
          sudo curl -O https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.3.tgz 
          sudo tar -xvf apache-jmeter-5.3.tgz
          cd $GITHUB_WORKSPACE/apache-jmeter-5.3/lib && sudo curl -O https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2.1/cmdrunner-2.2.1.jar
          cd $GITHUB_WORKSPACE/apache-jmeter-5.3/lib/ext && sudo curl -O https://repo1.maven.org/maven2/kg/apc/jmeter-plugins-manager/1.6/jmeter-plugins-manager-1.6.jar
          cd $GITHUB_WORKSPACE/apache-jmeter-5.3/lib && sudo java -jar cmdrunner-2.2.1.jar --tool org.jmeterplugins.repository.PluginManagerCMD install-all-except jpgc-hadoop,jpgc-oauth,ulp-jmeter-autocorrelator-plugin,ulp-jmeter-videostreaming-plugin,ulp-jmeter-gwt-plugin,tilln-iso8583
      - name: run-jmeter-test
        run: |
          echo "choice is ${{ github.event.inputs.choice }}" / ${{ inputs.choice }}
          $GITHUB_WORKSPACE/apache-jmeter-5.3/bin/./jmeter.sh -n -t testGIT.jmx -Jchoice="${{ github.event.inputs.choice }}" -l result.jtl -e -o $GITHUB_WORKSPACE/html/test
          
          
      - name: Upload Results
        uses: actions/upload-artifact@v2
        with:
          name: jmeter-results
          path: result.jtl


      - name: Upload HTML
        uses: actions/upload-artifact@v2
        with:
          name: jmeter-results-HTML
          path: index.html

截图说明

  • GitHub Actions执行结果截图:GitHub Actions执行结果截图
  • 本地生成的index.html文件截图:本地生成的index.html文件截图

解决方法

问题根源是你指定的HTML文件路径错误。JMeter命令中通过-o $GITHUB_WORKSPACE/html/test将报告输出到了html/test目录下,所以index.html实际位于该目录内,而非仓库根目录。

方案1:仅上传index.html文件

修改Upload HTML步骤的path参数,指向正确的文件位置:

- name: Upload HTML
  uses: actions/upload-artifact@v2
  with:
    name: jmeter-results-HTML
    path: ${{ github.workspace }}/html/test/index.html

方案2:上传整个报告目录(推荐)

HTML报告依赖CSS、JS等静态资源才能正常展示,建议直接上传整个目录:

- name: Upload HTML
  uses: actions/upload-artifact@v2
  with:
    name: jmeter-results-HTML
    path: ${{ github.workspace }}/html/test/

修改后重新触发GitHub Actions,就能成功上传HTML报告文件,得到预期的两个结果条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:06:47