当前位置:萝卜系统 > 硬件软件教程 > 详细页面

jMeter正则表达式

jMeter正则表达式

更新时间:2023-06-21 文章作者:未知 信息来源:网络 阅读次数:

根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

jmeter中正则表达式大全_常用 正则表达式大全_正则表达式大全

使用正则表达式根据模式搜索和处理文本. JMeter解释了整个JMeter测试计划中使用的正则表达式的形式或模式,包括模式匹配软件Apache Jakarta ORO.

使用正则表达式,由于我们构建或加强了测试计划,因此我们当然可以节省大量时间并获得更大的灵活性. 正则表达式提供了一种在无法或很难预测结果时获取信息页面的简便方法.

表达式的标准用法示例是从服务器响应中获取会话ID. 如果服务器返回唯一的会话密钥,那么我们可以轻松地获取加载脚本中使用的表达式.

要在测试计划中使用正则表达式,您需要在JMeter中使用正则表达式提取. 您可以在测试计划的任何组件中使用正则表达式.

这是值得强调的包容性和竞争性之间的差异,例如用于响应断言的测试元素:

假设您要匹配网页的以下部分:

正则表达式大全_常用 正则表达式大全_jmeter中正则表达式大全

name="file" value="readme.txt" 

提取readme.txt. 合适的正则表达式,例如:

name="file" value="(.+?)">

以上特殊字符为:

创建JMeter测试计划

让我们理解正则表达式的使用,以提取后处理器的元素并编写测试计划. 该元素将使用当前页面上的正则表达式来标识文本模式匹配提取的文本所需的元素.

常用 正则表达式大全_jmeter中正则表达式大全_正则表达式大全

首先,我们将一个人及其电子邮件ID列表写为HTML页面. 它已部署到tomcat服务器. HTML(index.htmll)上的内容如下:

<html>
<head>
</head>
<body>
<table style="border: 1px solid #000000;">
<th style="border: 1px solid #000000;">ID</th><th style="border: 1px solid #000000;">name</th><th style="border: 1px solid #000000;">Email</th>
<tr><td id="ID" style="border: 1px solid #000000;">3</td><td id="Name" style="border: 1px solid #000000;">Manisha</td><td id="Email" style="border: 1px solid #000000;">manisha@domain.com</td></tr>
<tr><td id="ID" style="border: 1px solid #000000;">4</td><td id="Name" style="border: 1px solid #000000;">joe</td><td id="Email" style="border: 1px solid #000000;">joe@domain.com</td></tr>
</table>
</body>
</html>

部署在Tomcat服务器上jmeter中正则表达式大全,此页面将类似于以下快照:

在我们的测试计划中,我们将在上面列表页面中所显示的人员表的第一行中选择人员. 为了捕获此人的ID,让我们首先确定模式,然后在第二行中找到该人. 从下面的快照中可以看到,第二个人的ID被和包围,这是具有此模式的第二行数据. 我们可以使用它来完全匹配我们希望从中提取信息的模式. 正如我们要从当前页面中提取两条信息,即人员ID和人员姓名,这些字段的定义如下:

启动JMeter,添加一个线程组Test Plan> Add> Threads(Users)>线程组.

接下来,添加一个采样器HTTP请求,右键单击所选的测试计划jmeter中正则表达式大全,然后单击“添加”>“采样器”>“ HTTP请求”,然后输入以下详细信息:

正则表达式大全_jmeter中正则表达式大全_常用 正则表达式大全

接下来,添加一个正则表达式提取. 选择“ HTTP请求采样器(管理)”,右键单击“添加”>“后处理器”>“正则表达式提取器”.

以上快照的详细信息如下:

字段说明

参考名称

提取的测试将存储在其中的变量名(refname).

正则表达式

正则表达式大全_jmeter中正则表达式大全_常用 正则表达式大全

文本提取模式将匹配. 文本组被提取的字符'('和')'包围. 我们用'+? '..标记包围的文本表示单个实例. 在我们的示例中,表达式为: (+)S *(+)S *

模板

每组提取的文本将以成员变量的形式放置,并以“(”和“)”包围的模式中的每个组的顺序排列. 每个组均存储为refname_g#,其中refname是您输入的字符串作为参考名称,而#是组号. $ 1 $表示组1,$ 2 $表示组2,$ 0 $表示整个表达式是否匹配. 在此示例中,我们提取的ID将存储在Person_g1中,“名称”的值将存储在Person_g2中.

比赛编号

由于我们仅打算提取该模式的第二次出现,因此第二个匹配项将使用值2. 值0将随机匹配,而foreach控制器中需要为负值.

默认

如果未找到该项目,则它将是默认值. 这是个可选的选项. 可以留空.

添加一个侦听器以捕获此测试计划的结果. 右键单击线程组,然后选择“添加”>“侦听器”>“查看结果树”选项以添加侦听器.

将测试计划另存为reg_express_test.jmx并运行测试. 输出将成功,因为在以下快照中:


本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-286362-1.html



温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html