首页 > 解决方案 > 使用正则表达式提取器从 jmeter 中的 url 中提取值

问题描述

嗨,我试图在我的 jmeter 测试中从 dtnamic url 中提取前 4 个值:

https://odds-stage.sport.com/api/v1/markets?fixtureId= 1047571 %2C 1081782 %2C 1081783 %2C 1081784 %2C1081785%2C1081786%2C1081787%2C1081788%2C1081789%2C1081973%2C1081974%2C1081975%2C1081976%2C1081978 %2C1081979%2C1087557%2C2030874%2C2030967%2C2031744&市场=1X2

我基本上试图提取出现在 url 查询之后的前四个 id,(它们以粗体标记),我似乎无法找到从每个 ID 之间删除 %2C 的方法,我之前使用过 exteracotr 但只有 JSON 提取器

在此处输入图像描述

标签: regexperformancetestingjmeterperformance-testing

解决方案


这可能不是最优雅的解决方案,但它应该可以完成这项工作:

使用以下正则表达式:([\d+]{7})%2C([\d+]{7})%2C([\d+]{7})%2C([\d+]{7})

这就是我的 RegEx 提取器的外观

然后,您可以使用${__groovy(vars.get("numbers_g1"))}(如果您将创建的变量命名为“数字”)访问匹配项,就像在此屏幕截图中一样。

不幸的是,由于我缺乏声誉,我无法嵌入图像!;)


推荐阅读