2016-08-23 4 views
0

Während ich versuche, die Header zum Senden Live-Zeit anzupassen, um die richtige Antwort zu erhalten, versuche ich BSH Pre-processor verwenden, um den Header zu setzen, sehe ich das Header-Attribut erstellt und Werte aus dem Skript, wie es angewendet wird, funktionieren ebenfalls, aber wenn ich es ausführe, gibt es die Werte nicht zurück.JMeter-Problem mit Beanshellpreprocessor während der Verwendung von Header-Informationen

In Konsole sehe ich auch das Problem in der Konsole als

2016/08/23 07:10:05 ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.Header; long fromtime = 14719164 . . . '' Token Parsing Error: Lexical error at line 14, column 3. Encountered: "a" (97), after : "\'s" 
2016/08/23 07:10:05 WARN - jmeter.modifiers.BeanShellPreProcessor: Problem in BeanShell script org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.Header; long fromtime = 14719164 . . . '' Token Parsing Error: Lexical error at line 14, column 3. Encountered: "a" (97), after : "\'s" 
2016/08/23 07:10:06 INFO - jmeter.util.BeanShellTestElement: To Time is ******1471916406355 
2016/08/23 07:10:06 INFO - jmeter.util.BeanShellTestElement: fromtime value is ******1471916406355 

vergleichen ich die Anfrage mit Arbeits Einsen und es sieht genau gleich, aber nicht funktionieren.

Bitte schlagen Sie vor, wenn ich etwas falsch mache.

Die BSHPreprocessor kann wie folgt zu finden:

import org.apache.jmeter.protocol.http.control.Header; 

long fromtime = ${__javaScript(Math.round(new Date().getTime()))}l; 
long ttt = 3599000l; 
long totime = fromtime + ttt; 

String strLong = Long.toString(fromtime); 
log.info("To Time is ******" + strLong); 
log.info("fromtime value is ******" + fromtime); 

sampler.getHeaderManager().add(new Header("to-time"," " +totime)); 
sampler.getHeaderManager().add(new Header("from-time"," " +strLong)); 

mir so früh wie möglich

Antwort

0

Nach Ihrer Nachricht Bitte helfen, ist etwas falsch in Zeile 14, Spalte 3

Lexikalischer Fehler in Zeile 14, Spalte 3. Gefunden: "a" (97), nach: "\" s

Ihr Skript enthält nur 12 Zeilen, so dass ich keine Ahnung habe, was dort fehlschlägt. Ich habe es ausprobiert und es funktioniert wie erwartet.


In Bezug auf „frühestmögliche“ Abhilfe, da wir nicht genug telepathischen zu erraten, was mit der fehlenden Zeile in Ihrem Skript falsch ist, ist hier eine alternative Lösung. Persönlich versuche ich, Scripting zu vermeiden und versuche, JMeter-integrierte Komponenten zu verwenden, wo dies möglich ist, da diese Scripting-Engines einen gewissen Overhead verursachen.

Besonders in Ihrem Fall können Sie tun, was Sie benötigen, mit Hilfe von nur JMeter Functions, __longSum() Funktion.

In Ihrem HTTP-Header-Manager definieren die folgenden Header:

  1. from-time mit dem Wert von

    ${__javaScript(${__javaScript(Math.round(new Date().getTime()))},fromTime)} 
    
    1. to-time mit dem Wert von

      $ {__ longSum ($ {fromTime}, 3599000,)}

Header Manager + Functions

How to Use JMeter Functions Artikel Serie für umfassende Informationen über __longSum() und andere JMeter Funktionen.

Verwandte Themen