从浏览器控制台和Jmeter获取js对象

时间:2018-11-24 18:52:40

标签: jmeter performance-testing

我正在开发一个新项目,客户是一家银行,我需要执行性能测试,我想使用jmeter作为主要工具,但是我发现了一个问题,大多数页面都要求提供令牌,因此,我需要捕获令牌并将其设置为下一个POST请求,以便登录并继续使用不同的页面表单,问题是此令牌是由javascript生成的,因此不会在任何GET响应正文中返回;我可以通过控制台的浏览器获取它,因为此令牌是在javascript对象中生成的。

我尝试将postProcessor元素用作正则表达式提取器,JSR223 PostProcessor(我不是专业人士),最后尝试使用Webdriver Sampler,这最后一个正在工作,但是我必须导入一些Java类,进行了一些修改等;但这不是一个选择,因为如果我对多个虚拟用户执行测试,则计算机将耗尽资源。

我想知道您是否遇到过类似的问题,如果可以,是否可以提出建议?也许使用其他工具,框架进行测试...

谢谢。

1 个答案:

答案 0 :(得分:0)

首先,我建议您更仔细地研究响应,因为令牌可能以CookieHeader的形式出现,如果是这种情况,您应该可以使用{ {3}}或HTTP Cookie Manager对应。

如果令牌是通过JavaScript代码生成的,则可以使用Regular Expression Extractor重新实现逻辑并使用{​​{3}}函数,以便将生成的值存储到Groovy language中。如果您无法提供相关的Groovy代码,请使用JavaScript代码片段更新您的问题,很可能我们将能够帮助您将其转换为Groovy并公开给下一个Sampler(s)