在JMeter中提取href的一部分

Posted

技术标签:

【中文标题】在JMeter中提取href的一部分【英文标题】:extracting a part of an href in JMeter 【发布时间】:2016-02-26 17:59:24 【问题描述】:

我坚持以下。 我在 ibm filenet 上有一个页面,其中包含一个包含对象(这些是文档或文件)的列表,这些对象在其 href 中具有特定的 classID 和 ID。我需要 JMeter 来获取所有包含特定类型 ID 的 HREFS:

<a href="http://ipaddress/Workplace/Browse.jsp?eventTarget=WcmController&eventName=GetInfo&id=350B278C-DE7D-44DE-9B54-099672152476&vsId=&classId=F14AC85A-4474-479A-9B4E-BCBA180B7975&objectStoreName=Nice&majorVersion=&minorVersion=&versionStatus=&mimeType=&mode=&objectType=customobject&isPopup=true" target="_blank">

'classId' = F14AC85A-4474-479A-9B4E-BCBA180B7975 是我需要在页面上单击的正确的类 id 类型(有几个具有此类 ID 的文件,但这没问题)。另一方面,每个文件的“id”因此不同。

如何提取所有包含此特定 classId 的 'id' 并让 JMeter 将其传递给下一个采样器,以便它只点击其中一个?我的 RegEx 会是什么样子?

【问题讨论】:

我不知道jmeter,但要获取ID,您可能需要使用这个正则表达式:id=([^&amp;]*)。这是id=,后跟除“&”号之外的任何字符,尽可能频繁。它被捕获在一个组中。与classId (classId=([^&amp;]*)) 相同。 该正则表达式适用于 ID,但它还需要检查存在 classID 且值为 F14AC85A-4474-479A-9B4E-BCBA180B7975 的行 【参考方案1】:

正如评论中已经提到的,我不知道jmeter 以及如何在代码中实现它。在链接中同时匹配idclassId 的正则表达式是:

~(classId=|id=)([^&]*)~g

也就是说,首先搜索字符串classId=id=。如果找到其中一个字符串,则在之后尽可能多地匹配除 & 符号 (&amp;) 之外的任何字符 (*) 并将其捕获在一个组中(括号)。可能您需要在正则表达式之后摆弄参数(例如,/g 表示全局)。 请参阅此regex101 fiddle 了解更多信息。

【讨论】:

我设法让它工作:id=([^&]*)&vsId=&classId=F14AC85A-4474-479A-9B4E-BCBA180B7975。搜索任何 ID + 指定的 classiD。现在我将该正则表达式用作整个 URL 中的一小部分,它可以工作:) 谢谢

以上是关于在JMeter中提取href的一部分的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 正则表达式学习--使用实例

我可以在 Json Regex Extractor 中使用 Json Path Expression 的 JMeter 结果来仅提取部分结果吗?

将RegEx(正则表达式提取器)与JMeter一起使用

jmeter正则表达式 提取token

Jmeter正则提取_实现前后衔接请求

jmeter 如何 提取 cookie 中的值