2013-07-18 26 views
0

因此,我們從此web服務接收json響應,我們可以在運行測試時使用jmeter輕鬆解析這些響應。我們最近發現的問題是,json對象中的字段並不總是以相同的順序排列。因此,正則表達式會打破。如何在jmeter中的無序json對象中解析空值

我們現在正在努力JSON路徑抽出(從[email protected]

它很酷,讓你選擇你想要的元素。問題是,當有一個空值,它不會閱讀它。

然後我們嘗試添加一個beanshell -pre-processor,這樣我們就可以將該變量設置爲null,以便在達到條件時正確執行該變量。問題是,一旦設置爲null,如果json路徑提取器選擇了某個值,它將不會更改爲任何值。

任何想法,你可以做這個工作嗎?

有什麼問題嗎?

回答

0

下面是我在其中一個測試用例中作爲替代方法所做的工作。

- HTTP Sampler 
- BSF Post processor with javascript language 
    - script in BSF goes like this 
     - log.info("processing image index response"); 
if ("" != prev.getResponseDataAsString()) { //if response is not empty process it 
    eval('var indexJSON = ' + prev.getResponseDataAsString()); //get the respnose JSON string as javascript var and operate on it as you like 
    vars.putObject("indexJSON", indexJSON); 

    var next_slide_timestamp=indexJSON[0].timestamp; 
    vars.put("next_slide_timestamp", "0"); 

    var maxSlides=indexJSON.length; 
    vars.put("maxSlides", maxSlides); 
} else { //if response is empty simply initialize all var to 0 
    vars.put("currentThumb", "0"); 
    vars.put("currentSlide", "0"); 
    vars.put("next_slide_timestamp", "0"); 
    vars.put("maxSlides", "0"); 
          log.info("index time : empty response , setting defaults to zero"); 
}