如何将JMeter脚本作为Windows Cron作业运行

时间:2018-05-13 14:37:04

标签: cron jmeter cron-task

我需要安排测试,以便我的JMeter脚本自动运行,而不必每天手动执行它。这可以通过Windows cron作业完成,但我不知道如何配置JMeter脚本作为Windows cron作业运行。通常我使用命令" jmeter -n -t path \ filename.jmx -l path \ log.csv"通过命令行执行我的JMeter脚本,所以我假设如果我可以使这个命令作为一个cron作业运行它理论上应该解决问题。所以,我真诚地感谢有人能提供完成此任务的步骤和细节,谢谢。

1 个答案:

答案 0 :(得分:0)

你可以使用Windows Task Scheduler之类的

来实现
  1. 打开任务计划程序
  2. 点击Action -> Create Task
  3. On" General"标签提供名称
  4. On"触发器"选项卡提供何时运行
  5. On" Actions"选项卡创建一个新的操作,如:

    • 计划:c:\windows\system32\cmd.exe
    • 参数:/c c:\jmeter\bin\jmeter.bat -n -t c:\jmeter\extras\Test.jmx -l c:\jmeter\bin\Test_%date:~10,4%%date:~4,2%%date:~7,2%.jtl

      JMeter Windows Scheduled Task

  6. 更改JMeter和.jmx脚本位置以匹配您的详细信息。

    每次运行任务时,当前日期的文件都应出现在" bin"您的JMeter安装文件夹,例如今天的Test_20180514.jtl

    以防这里是导出任务:

    <?xml version="1.0" encoding="UTF-16"?>
    <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
      <RegistrationInfo>
        <Date>2018-05-14T07:50:02.7061254</Date>
        <Author>aldan\anonymous</Author>
        <URI>\JMeter</URI>
      </RegistrationInfo>
      <Triggers />
      <Principals>
        <Principal id="Author">
          <UserId>S-1-5-21-2873627350-121124179-3591956082-1001</UserId>
          <LogonType>InteractiveToken</LogonType>
          <RunLevel>LeastPrivilege</RunLevel>
        </Principal>
      </Principals>
      <Settings>
        <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
        <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
        <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
        <AllowHardTerminate>true</AllowHardTerminate>
        <StartWhenAvailable>false</StartWhenAvailable>
        <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
        <IdleSettings>
          <StopOnIdleEnd>true</StopOnIdleEnd>
          <RestartOnIdle>false</RestartOnIdle>
        </IdleSettings>
        <AllowStartOnDemand>true</AllowStartOnDemand>
        <Enabled>true</Enabled>
        <Hidden>false</Hidden>
        <RunOnlyIfIdle>false</RunOnlyIfIdle>
        <WakeToRun>false</WakeToRun>
        <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
        <Priority>7</Priority>
      </Settings>
      <Actions Context="Author">
        <Exec>
          <Command>c:\windows\system32\cmd.exe</Command>
          <Arguments>/c c:\jmeter\bin\jmeter.bat -n -t c:\jmeter\extras\Test.jmx -l c:\jmeter\bin\Test_%date:~10,4%%date:~4,2%%date:~7,2%.jtl</Arguments>
        </Exec>
      </Actions>
    </Task>
    

    请注意,更简单的选项可能是使用Jenkins来编排您的构建,这样您就会拥有历史记录,指标,条件失败条件和效果趋势图表。

    Jenkins Performance Trend

    有关在Jenkins控制下添加性能测试的更多信息,请参阅Continuous Integration 101: How to Run JMeter With Jenkins文章