【问题标题】:How to set different time slots for a single https requests in jmeter如何在 jmeter 中为单个 https 请求设置不同的时隙
【发布时间】:2020-09-15 23:43:31
【问题描述】:

我有一个 http 请求,我需要在给定的时间范围内发送随机时间值

请求如下所示: http://domain/api1?&mt=getEmp&punchTime=1590678744

我已经预先定义了班次 早上0900 到 1400 晚上1400 到 1900 夜晚1900 到 2300 期望是:预定义的班次时隙之间的随机纪元时间值应作为每个请求的打孔时间。

我不想根据不同的时间转移分开请求。

谁能帮我用 JMeter 实现这个目标?

【问题讨论】:

    标签: datetime parameters jmeter performance-testing epoch


    【解决方案1】:

    您可以使用合适的JSR223 Test ElementGroovy language 计算给定范围内的随机时间戳。

    生成当天 9 到 14 小时之间的随机时间并将其存储到 randomMorningTime JMeter Variable 的示例代码类似于:

    def calendar = Calendar.getInstance()
    def morningStart = new GregorianCalendar(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 9, 00).getTimeInMillis()
    def morningEnd = new GregorianCalendar(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 14, 00).getTimeInMillis()
    
    
    def randomMorningTime = org.apache.commons.lang3.RandomUtils.nextLong(morningStart, morningEnd)
    def timestamp = ( randomMorningTime / 1000).round() as String
    log.info('Random morning time for current day: ' + new Date(randomMorningTime))
    log.info('Associated timestamp: ' + timestamp)
    vars.put('randomMorningTime', timestamp)
    

    演示:

    您将能够在需要时以${randomMorningTime} 的形式访问生成的值。

    有关更多信息,请参阅GregorianCalendar 类的 JavaDoc

    【讨论】:

    • @stackoverflow.com/users/2897748/dmitri-t 谢谢。我按原样使用它。但是得到了这个错误ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script JSR223 Sampler, message: javax.script.ScriptException: java.lang.NullPointerException javax.script.ScriptException: java.lang.NullPointerException at org.codehaus.groovy.jsr223. GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:324) ~[groovy-all-2.4.16.jar:2.4.16]`java.lang.Thread.run(Unknown Source) [?:1.8.0_241] 由:java.lang.NullPointerException at java.math.BigDecimal.plus(Unknown Source) ~[?: 1.8.0_241]`
    • groovy-all-2.4.16.jar 表示您使用的是以前的一些 JMeter 版本,根据9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure,您应该使用最新版本的 JMeter,因此请考虑升级到 JMeter 5.3,您应该是能够使用提供的代码,否则您将不得不自己弄清楚所需的更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2020-05-20
    • 1970-01-01
    • 2022-11-24
    相关资源
    最近更新 更多