【问题标题】:JMeter post-processor extracting javascript after evaluation from response bodyJMeter 后处理器在从响应正文评估后提取 javascript
【发布时间】:2019-03-06 14:54:33
【问题描述】:

来自 POST 的响应正文包含以下 javascript:

var now = new Date();
document.location.href="/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6c&uid=qastudent&fromlogin=1&ts=" + now.getTime();

我需要在评估后提取 ts 的值,以便在下一个 GET 中将其作为参数传递。

【问题讨论】:

    标签: jmeter post-processor


    【解决方案1】:

    根据JMeter project main page

    JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并没有执行浏览器支持的所有操作。 特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。

    因此,您将无法在“评估后”提取值,因为它永远不会被评估。

    JMeter 的 Date.getTime() function 相当于 __time() function,所以如果您在测试计划中的任何位置放置以下构造:

    /wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6c&uid=qastudent&fromlogin=1&ts=${__time()}
    

    ${__time()} 位将替换为运行时中的当前时间戳:

    查看Apache JMeter Functions - An Introduction 文章以熟悉 JMeter 函数概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多