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

如何通过PowerShell按顺序逐个执行独立的JMeter测试计划

问题原因

现有脚本中两个测试同时启动的核心原因是调用Start-Process时未添加-PassThru参数,默认情况下该命令不会返回启动的进程对象,导致$proc.WaitForExit()实际是对空值调用,等待逻辑完全失效,脚本会直接执行后续的测试启动代码。

修正方案

最小改动修复现有示例

只需要给每个Start-Process添加-PassThru参数即可正常获取进程对象,执行等待逻辑,或者直接用更简洁的-Wait参数省略手动调用等待方法的步骤,同时可以添加-NoNewWindow参数避免每次弹出新窗口,所有日志在当前PowerShell窗口展示:

Write-Output "Running Test 1"
Start-Process -FilePath "C:\JmeterLoadTests\apache-jmeter-5.2.1\bin\jmeter" -ArgumentList "-n -t C:\JmeterLoadTests\test\enpointsType1\test-1-1.jmx -Jduration=10" -Wait -NoNewWindow
Write-Output "Proc 1 Done"

Write-Output "Running Proc 2"
Start-Process -FilePath "C:\JmeterLoadTests\apache-jmeter-5.2.1\bin\jmeter" -ArgumentList "-n -t C:\JmeterLoadTests\test\enpointsType1\test-1-1.jmx -Jduration=10" -Wait -NoNewWindow
Write-Output "Proc 2 Done"

自动遍历目录的完整版脚本

符合你后续新增测试无需修改脚本的需求,支持自定义参数配置:

# 配置项
$jmeterPath = "C:\JmeterLoadTests\apache-jmeter-5.2.1\bin\jmeter.exe"
$testPlanDir = "C:\JmeterLoadTests\test\"

# 获取目录下所有jmx测试计划
$testPlans = Get-ChildItem -Path $testPlanDir -Filter "*.jmx" -Recurse

if ($testPlans.Count -eq 0) {
    Write-Output "未找到任何测试计划文件,请检查目录配置"
    exit 1
}

Write-Output "共找到$($testPlans.Count)个测试计划,即将串行执行"

# 遍历逐个执行
foreach ($plan in $testPlans) {
    Write-Output "`n开始执行测试计划:$($plan.Name)"
    # 读取同目录下同名称的参数文件,不存在则用空参数
    $argFile = Join-Path -Path $plan.DirectoryName -ChildPath ($plan.BaseName + ".txt")
    $customArgs = ""
    if (Test-Path -Path $argFile) {
        $customArgs = Get-Content -Path $argFile -Raw
    }
    $arguments = "-n -t `"$($plan.FullName)`" $customArgs"
    # 执行测试并等待结束
    Start-Process -FilePath $jmeterPath -ArgumentList $arguments -Wait -NoNewWindow
    Write-Output "测试计划$($plan.Name)执行完成"
}

Write-Output "`n所有测试计划全部执行完毕"

使用说明:

  • 需要传参的测试,在同目录下新建和测试计划同名的txt文件,写入需要的JMeter参数即可,比如-Jduration=10 -Jthreads=50
  • 不需要传参的测试不用做额外配置,直接放jmx文件即可
  • 新增测试时只要把对应文件放到$testPlanDir指定的目录下,下次执行脚本就会自动纳入执行队列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:24:05