2015-01-16 12 views
0

每一次當我的JMeter記錄,我有一個請求,編碼的項目如下需要生成編碼的請求從的JMeter

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA= 

然後我解碼發現如下

parameter_value=123&regular_expression_value=456&is_pop_up=Y& 
header_type=adv_pop_up 

凡爲123參數值(即輸入值)和456是正則表達式值。

如何傳遞這兩個值並編碼請求並從jmeter發送?

+0

捕獲這些值並使用正則表達式提取,然後將它傳遞給下一個請求 –

+0

問題不在於解壓縮,如何通過這些值來編碼和發送來自jmeter的請求 – user3559336

+0

您應該仔細看看Jmeter採樣器選項(您還沒有它似乎)。如果它的標準編碼,那麼Jmeter採樣器有複選框(編碼複選框),如果它是自定義編碼,那麼你可以使用java代碼或beanshell處理器來實現它。 –

回答

0

它是Base64編碼。即如果你想編碼併發送以下請求行:

PARAMETER_VALUE = & regular_expression_value = 酒吧 & is_pop_up = Y & header_type = adv_pop_up

可以使用__Beanshell()功能

${__BeanShell(import org.apache.jmeter.protocol.http.util.Base64Encoder; Base64Encoder.encode("parameter_value=foo&regular_expression_value=bar&is_pop_up=Y&header_type=adv_pop_up");)} 

foobar也可以是JMeter的變量

${__BeanShell(import org.apache.jmeter.protocol.http.util.Base64Encoder; Base64Encoder.encode("parameter_value=${foo}&regular_expression_value=${bar}&is_pop_up=Y&header_type=adv_pop_up");)} 

How to use BeanShell: JMeter's favorite built-in component指南來了解更多關於BeanShell中的力量。

如果此功能行似乎可怕,您可以考慮使用JMeter PluginsStandard Set有兩個功能可以幫助您進行Base64編碼和解碼。它們是:

  • base64Encode
  • base64Decode

JMeter Plugins Custom Functions文檔瞭解更多信息。