在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=([^&]*)
。这是id=
,后跟除“&”号之外的任何字符,尽可能频繁。它被捕获在一个组中。与classId
(classId=([^&]*)
) 相同。
该正则表达式适用于 ID,但它还需要检查存在 classID 且值为 F14AC85A-4474-479A-9B4E-BCBA180B7975 的行
【参考方案1】:
正如评论中已经提到的,我不知道jmeter
以及如何在代码中实现它。在链接中同时匹配id
和classId
的正则表达式是:
~(classId=|id=)([^&]*)~g
也就是说,首先搜索字符串classId=
或id=
。如果找到其中一个字符串,则在之后尽可能多地匹配除 & 符号 (&
) 之外的任何字符 (*
) 并将其捕获在一个组中(括号)。可能您需要在正则表达式之后摆弄参数(例如,/g
表示全局)。
请参阅此regex101 fiddle 了解更多信息。
【讨论】:
我设法让它工作:id=([^&]*)&vsId=&classId=F14AC85A-4474-479A-9B4E-BCBA180B7975。搜索任何 ID + 指定的 classiD。现在我将该正则表达式用作整个 URL 中的一小部分,它可以工作:) 谢谢以上是关于在JMeter中提取href的一部分的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Json Regex Extractor 中使用 Json Path Expression 的 JMeter 结果来仅提取部分结果吗?