通过 JMeter 正则表达式解析 HTML

发布于 2024-12-11 19:58:43 字数 439 浏览 0 评论 0原文

我在 JMeter 中的正则表达式方面遇到一些问题。 我有这个 HTML 表单

<form class="UIForm" id="UIComposer" action="/portal/intranet/?portal:componentId=b5914710-6c12-4fa9-9a18-2707d97111b7&interactionstate=JBPNS_rO0ABXcmAAt1aWNvbXBvbmVudAAAAAEAClVJQ29tcG9zZXIAB19fRU9GX18*&portal:type=action" onsubmit="return false;" method="post">

,我需要获取 JMeter 中的 componentIdinteractionstate 的值作为变量。

I have some trouble with a regex in JMeter.
I have this form in HTML

<form class="UIForm" id="UIComposer" action="/portal/intranet/?portal:componentId=b5914710-6c12-4fa9-9a18-2707d97111b7&interactionstate=JBPNS_rO0ABXcmAAt1aWNvbXBvbmVudAAAAAEAClVJQ29tcG9zZXIAB19fRU9GX18*&portal:type=action" onsubmit="return false;" method="post">

and I need to get the values of componentId and interactionstate in JMeter, as variables.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

默嘫て 2024-12-18 19:58:43

请改用 XPath 提取器

如果您必须使用正则表达式,只需搜索正则表达式标记解析。

Use an XPath Extractor instead.

If you must use a regex, just search for regex tag parsing.

没有伤那来痛 2024-12-18 19:58:43

Jmeter 使用 PERL 正则表达式来提取值并将其存储到变量中。

这是学习如何编写它们的绝佳资源:http://www.regular-expressions.info/

这是 Jmeter 用户手册的链接:http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

在 Jmeter 中,确保在要存储到变量中的项目两边加上括号 ()。鉴于您是 JMeter 的新手,我建议您使用两个正则表达式 - 每一项一个。这将使您更容易跟踪和调试。您最终会得到如下表达式: componentId=(.+?);

Jmeter uses PERL regular expressions to extract and store values into variables.

Here is a great resource for learning how to write them: http://www.regular-expressions.info/

Here's the link for the Jmeter user manual: http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

In Jmeter, make sure you put parentheses () around the items you want to store to the variable. Given you're new to JMeter, I would recommend having TWO regular expressions - one for each item. This will make it easier for you to track and debug. You'll end up with expressions like: componentId=(.+?);

栖迟 2024-12-18 19:58:43

请不要使用正则表达式来获取属性值。在字符转义方面存在很多极端情况,因此有时可能会崩溃。研究 XML 处理 API,例如 SAX、StAX、DOM 或 XSLT。请注意,这要求 HTML 兼容 XML(如果涵盖了 XHTML)。

一旦通过合适的 API 获取了操作属性的值,您就可以对其使用正则表达式。

或者,了解是否可以通过 Servlet API 或类似的方式利用已有的内容来处理 HTTP posts/gets。他们将 URL 参数放置在映射中以供检索。

Please don't use regular expressions for getting attribute values. There's so many corner cases in terms of character escaping and such that it's likely to break sometime. Look into XML processing APIs, like SAX, StAX, DOM or XSLT. Do mind that this requires the HTML to be XML compliant (if it's XHTML that's covered).

Once you get the value of your action attribute via a suitable API, you can then unleash regular expressions on it.

Alternatively, find out if you can somehow harness what already exists for handling HTTP posts/gets via the Servlet API or something similar. They place URL parameters in a map for retrieval.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文