JMeter后处理器从响应主体进行评估后提取javascript

时间:2019-03-06 14:54:33

标签: jmeter post-processor

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

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

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

1 个答案:

答案 0 :(得分:0)

根据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()}位将在运行时中替换为当前时间戳:

enter image description here

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