2015-11-08 53 views
0

我正在使用jmeter来测试使用IBM Worklight的移动应用程序的性能。我得到3个动态值作为字符串,我需要处理这些值。我是reular表达式提取器,但它没有工作。任何人都可以帮助我找出解决方案吗? Dyanamic值是如何在jmeter中以动态值形式显示字符串

[ “{\” JSESSIONID \ “:\” 0000Mhn7GqWMU1P7Xi9dpJ7mgFb \”,\ “mbparam \”:\ “ZjurDsggbg9CZBgd5miAIHMIH%2B5oC7XdSukctItof7AJnpe8UNhlBsgM%2F8w%3D \”,\ “MP-AUTH-TOKEN \”: \ “leXozMVUXFYixuYwxgV58EXuRg1Vd0xtpZeouAMQtk6Pd0I1D618motg \”}“]

更新

我想您所提供的正则表达式,但它也不能正常工作。

Regular Expression

Sampler

Response

Debug Sampler

这些是我已经执行的步骤。请指导我如果我做错了什么。

更新

这是我得到的回应是

{ : “客户名称”: “ABC”, : “homeEmail”: “”, : “profileDebitAcc”:”" , : “sessKey”: “0000V3EgdxpY937GTWQ3yogRLGq”, : “mbParam”: “hDurAxWHjPT%2BtB7xEyz7Huu51oDOAH8gyNSWIBnHmA9UWuF0lcHGiOy82S0%3D”, : “responseHeaders响应”: :{ : “内容语言”: “EN-AU” , :“Date”:“Thu,12 Nov 2015 05:59:50 GMT”, ::“Content-Length”:“6759”, ::“Expires”:“0”, :“Content型 “:” text/html的; charset = ISO-8859-1“, ::”X-Powered-By“:”Servlet/3.0“, :”Cache-Control“:”no-cache“, ::”Pragma“:”no -cache” :}, “的authToken”: “AHWXZlUt6Rupm1FeBWGu2TEVHZemZwVGbmwmpVxXJR7TMhCA8pWN96ae”, “的StatusCode”:200, :

我需要提取sesskey,mbParam和的authToken值,并在接下来的请求,并将其作为列表。体

在这些值被显示为

[请求 “{\” JSESSIONID \ “:\” 0000gPQCV4FJ1NQvB8d4Ifd_P9I \” ,\ “mbparam \”:\ “hDu7DhU%2FjA81TEjwbREmytgqIItmUS4b6rhEojYtcalv0PUs6iaewmtZu6U%3D \”,\ “MP-AUTH-TOKEN \”:\ “4fU7Bg20sRRUikHnzmZKcC4ZPyCjVxJnmm7QMnSm6mfT7GlqnySQS2YP \”}“]

enter image description here

如何处理这些价值?

回答

0

使用下面的正则表达式提取配置:

  • 参考名称:任何有意义的事,即dynamicvalues
  • 定期Expresssion:

    \["\{\\"jsessionid\\":\\"(.+?)\\",\\"mbparam\\":\\"(.+?)\\",\\"MP-AUTH-TOKEN\\":\\"(.+?)\\"\}"\] 
    
  • 模板:$1$$2$$3$

Regular Expression Extractor

参考提取值:

  • ${dynamicvalues_g1} - 为JSESSIONID
  • ${dynamicvalues_g2} - 为mbparam
  • ${dynamicvalues_g3} - 为MP-AUTH-TOKEN

Debug Sampler

虽然developin摹正则表达式记住,你需要用一个反斜杠逃脱以下字符:

  • [
  • {
  • \
  • }
  • ]

其他特殊字符,需要转义的是: .^$*+?()|

参考文献:

+0

德米特里你好,感谢您的答复。我尝试了你提供的正则表达式,但它仍然对我显示一个错误。我将提供屏幕截图/ * - secure- {“errors”:[“IO:第1行第14列出现意外字符']”,“isSuccessful”:false,“warnings”:[],“info “:[]} * /。这是我正在创建的错误。 – Sree

+0

如果您需要提取**整个**响应,不仅需要3个动​​态值,请使用'(?s)(^。*)'作为正则表达式,使用'$ 1 $'作为模板。有关正则表达式的解释,请参阅[如何使用JMeter从文件中提取数据](https://blazemeter.com/blog/what-every-performance-tester-should-know-about-extracting-data-files-jmeter)。 –

+0

我也尝试过这一个,但它仍然显示“/ * - 安全 - {”错误“:[”IO:意外的字符''在第1行,第14列“],”isSuccessful“:false,”warnings“:[ ],“info”:[]} * /。 – Sree

相关问题