我是JMeter的新手并且正在学习,使用正则表达式提取器进行练习。
我使用录音机创建了一个测试计划。我添加了一个正则表达式提取器,因为我想从我的网页上将“您的帐户”文本变为变量。
我使用调试采样器来检查我的变量是否在其中具有值“您的帐户”。 我在运行测试时看到变量中的默认值“your_account_NONE”。
我认为我的正则表达式是错误的。请指教,帮忙。感谢。
我知道测试运行时我在正确的页面上,因为我插入了一个响应断言,要测试的模式设置为“您的帐户” 断言通过。如果我将模式更改为“Your Accounttttttttttt” 断言失败了。所以我在正确的页面上。 我想将“您的帐户”值变为变量。
我的正则表达式有以下配置:
Reference Name: YourAccount
Regular Expression: <h1>"Your " <span>Account</span> </h1>
Template: $1$
Match: 1
Default Value: your_account_NONE
我的测试计划如下:
Test Plan
Thread Group
Http Request defaults (Server Name: a URL to go to homepage)
Recording Controller
Http Cache Manager
Http Cookie Manager
Http request (sign in)
http request (Homepage)
Regular Expression Extractor
Response Assertion
答案 0 :(得分:1)
此问题的解决方案是使用正则表达式字符分组。然后在正则表达式提取器的“模板”部分中引用它们。
简单地将所需匹配的部分包裹在()中。
例如:
Regular Expression: <h1>"(Your )" <span>(Account)</span> </h1>
上面的行在“你的”和“帐户”周围放置了一个字符组。 然后,要将其构建到一个引用变量中,您希望“模板”为:
$1$$2$
这会将两个字符分组连接到变量“YourAccount”。