2016-06-09 68 views
0

我將整個XML保存在數據庫表中,並在JDBC採樣器中獲取XML並在HTTP採樣器中使用它。我想在運行時在這個獲取的xml中的特定標記值內部參數化一個值。有人能告訴我該怎麼做。提前參數化JMeter中運行時參數中包含的XML中的標記值

由於在HTTP採樣==>後身體

xmldoc = ${xmlfromdb} 

我在這裏能夠獲取整個XML,我可以成功提交。如何在運行時在此獲取的xml中對參數化標記值進行參數化。

回答

0

您可以通過像腳本做到這一點:

  1. 添加Beanshell PreProcessor作爲HTTP請求採樣的孩子
  2. 將下面的代碼放入預處理器的「腳本」區域

    String body = sampler.getArguments().getArgument(0).getValue(); 
    body = body.replace("Original Tag Value", "New Tag Value"); 
    sampler.getArguments().removeArgument(0); 
    sampler.addNonEncodedArgument("", body, ""); 
    

sampler是一個預先定義的變量可用於Beanshell(和一些其他測試元素),它父母採樣器實例和HTTP請求的情況下它是HTTPSamplerProxy。有關可用方法和字段的更多信息,請參閱JavaDoc,有關在JMeter腳本中使用Beanshell測試元素中的JMeter和Java API的更多信息,請參閱文章How to Use BeanShell: JMeter's Favorite Built-in Component