POST的响应正文包含以下javascript:
var now = new Date();
document.location.href="/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6c&uid=qastudent&fromlogin=1&ts=" + now.getTime();
我需要在评估ts之后提取ts的值,以便可以在下一个GET中将其作为参数传递。
答案 0 :(得分:0)
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 Functions概念。