2011-09-20 34 views
8

Bazı performans testleri yazmak için JMeter ile çalışıyorum. Yapmam gereken şeylerden biri de devasa bir json talebi oluşturmak ve bunu POST talep ödevi olarak göndermek. BSF önişlemcisini kullanarak, dinamik olarak yükü değiştirebilirim ancak javascript dizgim kodlanırken, şifrelenmeden göndermek istiyorum.BSF Önişlemcisi ile JSON POST isteği gönderme

BSF önişlemcisinin kodlanmasını engellemesini nasıl sağlayabileceğinden emin değilim. şöyle Şu anda benim POST isteği yükünü değiştirmek için kullanabileceğiniz komut şöyledir: açıkça bsf önişlemcilerinin kullanılması bekleniyor nasıl açıklamak bazı örneklere işaret edebilir eğer

var jsonData = '[{"item":"value","something":"everything"}]'; 
sampler.addArgument("",jsonData); 

Gerçekten takdir ediyorum.

Kodlamayı atlamak için herhangi bir işaretleyici de takdir edilecektir. Bu false senin örnekleyici "HTTPArgument.always_encode" konulu

cevap

1

devre dışı bırakmalısınız. BSF Sampler kitabında

  1. bir değişkene size JSON koydu:

    Yani çözüm aşağıdaki yapmaktır

    var jsonData = '[{"item":"value","something":"everything"}]'; 
    vars.putObject("jsonData",jsonData); 
    
  2. Mesaj Vücut, koyun:

    ${jsonData} 
    

Yo kullanarak başka bir seçenek

import org.apache.jmeter.protocol.http.util.HTTPArgument; 
String jsonData = "[{\"item\":\"value\",\"something\":\"everything\"}]"; 
HTTPArgument arg =new HTTPArgument("", jsonData, null, true); 
arg.setAlwaysEncoded(false); 
sampler.getArguments().addArgument(arg); 

Selamlar

Philippe M.

-1

seti özelliği Yazı Gövdesi sekmesini kullanarak RAW istek bölmesini kullanabilirsiniz JMeter 2.6 yana argüman kodlaması

+1

Çözüm, tam biri için aşağıda eksik mi göreceğiz: ur yöntem Beanshell dili (değil javascript) kullanılarak BSFPreProcessor içinde koymaktır –