使用 Jmeter 在源代码部分获取 Javascript 变量

Posted

技术标签:

【中文标题】使用 Jmeter 在源代码部分获取 Javascript 变量【英文标题】:Fetch Javascript variable in source section using Jmeter 【发布时间】:2016-03-01 09:22:42 【问题描述】:

我有一系列相互关联的页面要使用 JMeter 进行测试。问题是初始页面在源部分中有一个 javascript 变量,它更像是一个会话变量。此变量在后续页面的 URL 中传递。

所以基本上我想在从源部分加载初始页面并将其传递给下一个 URL 时获取这个 javascript 变量。

有没有办法使用 JMeter 实现这一点。

【问题讨论】:

【参考方案1】:

你能在初始页面的响应中看到会话变量吗? (在视图结果树侦听器中)

如果是,则关联该值并将变量传递给下一个请求(使用正则表达式提取器来获取该值,如果您在关联该值时发现一些问题,请在此处分享第一个请求的响应,所以我可以为你提供正则表达式)

【讨论】:

【参考方案2】:

人们大多Regular Expression Extractor从以前的响应中获取动态值,一般来说过程如下:

    添加正则表达式提取器作为返回所需数据的请求的子项 使用Perl5-style regular expression 匹配您要查找的内容 提供一个模板来选择匹配组 - 如果您要寻找单个值,通常是 $1$ 提供引用名称以引用提取的值,即foo 在需要时使用提取的值作为$foo

您可以使用 Debug Sampler 和 View Results Tree 侦听器组合来可视化 JMeter 变量。

调试正则表达式的最简单方法是在“RegExp Tester 模式”中使用 View Results Tree 侦听器

请参阅How to debug your Apache JMeter script 文章,了解有关排除 JMeter 测试故障的更多信息。

【讨论】:

以上是关于使用 Jmeter 在源代码部分获取 Javascript 变量的主要内容,如果未能解决你的问题,请参考以下文章

jmeter命令行模式运行,实时获取压测结果

jmeter 如何 提取 cookie 中的值

JMeter - 实时结果 - InfluxDB和Grafana - 第2部分 - 添加自定义字段

在JMeter中提取href的一部分

如何在Jmeter中设置和获取环境变量来测试API

如何通过jmeter使用beanshell进行关联