2017-07-28 100 views
0

我已經用Jmeter解決了負載測試的問題。但是現在我專注於api自動化。我們如何根據Jmeter中的鍵值對驗證json

從CSV讀取文件的端點和響應的預期,只有挑戰我面臨是否如何驗證基於關鍵值對的JSON,以便我可以驗證那些我感興趣的數據而不是整個JSON體。

在java中使用eclipse我們可以用下面的方法做到這一點:

JSONObject obj1=null,obj2=null; 

     obj1=new JSONObject(actual); 
     obj2=new JSONObject(required); 
    Iterator<?> keys = obj2.keys(); 
    while(keys.hasNext()) { 
     String key = (String)keys.next(); 
     if(obj2.get(key) instanceof JSONArray) 
     { 
      if(!compareJSONArray(obj2.getString(key),obj1.getString(key))) 
      {return false;} 
      status=true; 
     }else if(obj2.get(key) instanceof JSONObject) 
     { 
      if(!compareJSON(obj2.getString(key),obj1.getString(key))) 
      {return false;} 
      status=true;  
     }else{ 
      if(obj2.getString(key).equalsIgnoreCase(obj1.getString(key))) 
        { 

       status=true; 
        } 
      else{ 
       return false; 
      } 

     } 

我怎樣才能做到這一點遵循的JMeter。請幫助

回答

1

JSR223 Sampler讓您執行Java語言

你可以把你的代碼在JSR223採樣,並使用使用變量:vars.get("VARIABLE_NAME")或屬性:props.get("propertyName")

可以使用影響結果:

SampleResult.setSuccessful(true/false) 
SampleResult.setResponseCode("code") 
SampleResult.setResponseMessage("message")