2017-09-04 136 views
0

我正在尋找一些關於JMeter編碼的建議。我目前正在使用一個使用https和.aspx網址的系統,因此需要在我的發佈請求中對所有參數進行編碼。正如我所看到的,我正在複製和粘貼來自Fiddler的Web表單以生成我的測試腳本。有沒有一種勞動密集型的方式來編碼我的所有網頁形式的參數,因爲我不得不打勾來編碼每個單獨的參數。JMeter,編碼所有參數

回答

0
  1. 最有可能你正在做給你使用JMeter的HTTP(S) Test Script Recorder JMeter的應自行包括參數填充請求參數記錄您的要求很奇怪,如果需要的值編碼。有關如何執行測試場景錄製的詳細信息,請參閱JMeter Proxy Step by Step
  2. JMeter的.jmx腳本基本上XML files,所以你應該能夠在你喜歡的文本編輯器打開JMeter的腳本,找到以下行:

    <boolProp name="HTTPArgument.always_encode">false</boolProp> 
    

    ,並取代它與

    <boolProp name="HTTPArgument.always_encode">true</boolProp> 
    
  3. 您可以使用JSR223 PreProcessor和以下Groovy代碼,用它們的編碼等效替換非編碼參數:

    org.apache.jmeter.config.Arguments args = sampler.getArguments() 
    sampler.getArguments().removeAllArguments() 
    args.each { 
        sampler.addEncodedArgument(it.getName(), it.getValue()) 
    } 
    

    上述代碼將修改JSR223 PreProcessor's scope中的所有采樣器,並用它們的編碼等價物替換參數值。這種方法可能是資源密集型的,所以要明智地使用它,如果有可能考慮點1和/或2中描述的替代方案。以防萬一請參閱Apache Groovy - Why and How You Should Use It以熟悉JMeter測試中的Groovy腳本概念。