Jmeter正则表达式提取器没有获得价值

cel*_*-in 5 regex jmeter load-testing

我有个问题.我在Jmeter中使用正则表达式提取器.我有两个正则表达式.

我可以从中获得价值.

Reference Name: as_fid_addtobasket

Regular Expression: <input type="hidden" name="as_fid" value="(.+?)" />

Template: $1$
Run Code Online (Sandbox Code Playgroud)

但我无法从这一点获得价值.

> Reference Name: DynamicTempOrderProductGuid 
> 
> Regular Expression: <input data-val="true" data-val-required="The
> TempOrderProductGuid field is required."
> id="OrderProducts_1__TempOrderProductGuid"
> name="OrderProducts[1].TempOrderProductGuid" type="hidden"
> value="(.+?)" />
> 
> Template: $1$
> >
Run Code Online (Sandbox Code Playgroud)

这是我的结果.第二个没有得到价值.我错过了哪里?

POST数据:OrderProducts.index = 1&OrderProducts%5B1%5D.TempOrderProductGuid =%24%7BDynamicTempOrderProductGuid%7D&OrderProducts%5B1%5D.Count = 1&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.NameRec = Test + ama%C3%A7l%C4% B1D%C4%B1R.+ L%C3%BCtfen + dikkate +爱尔美%C4%B1n的%C4%B1z&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.PhoneRec = 05352233285&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.OSSendingReason =&OrderProducts%5B1 %5D.ReceiverModel.OrderReceiver.OSReceiverAddressType =&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.CompanyNameRec =&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.AddressLineRec =测试+ AMA%C3%A7l%C4%B1D%C4%B1R.+ L&C3%BCtfen + dikkate +爱尔美%C4%B1n的%C4%B1z&OrderProducts%5B1%5D.ProductCode = se213&OrderProducts%5B1%5D.TempOrderProductGuid =%24%7Btokentoken%7D&totalProducts = 1&as_fid = efWZ0i4RGLmC2nBWk%2FA1

Dmi*_*i T 2

我建议使用XPath Extractor,因为正则表达式非常依赖于布局、属性顺序、空格等,对于没有经验的用户来说,开发和测试可能会非常头疼。尤其是多线的。

用于从输入中提取值的 XPath 表达式as_fid如下所示:

//input[@id='OrderProducts_1__TempOrderProductGuid']/@value
Run Code Online (Sandbox Code Playgroud)

一些线索:

  1. 如果您使用 JMeter 2.11,您将能够直接在View Results Tree Listener中测试您的 XPath 表达式
  2. 如果您的 HTML 不符合 XHTML,您可能需要在 XPath Extractor 中选中“使用 Tidy”框
  3. 检查XPath 教程以获取语言参考。