Hey, ich mache ein paar Beanshell Scripting für API-Tests in Jmeter. Ich habe ziemlich viele jmeter-Skripte mit Beanshell geschrieben und es funktioniert gut, wenn Integer.parseInt()
Methodenaufruf verwendet wird, aber ich habe einen Wert mit Dezimalstellen, wo mein SQL einen Wert von 20.00000 zurückgibt und mein Json-Pfadextraktor 20.0 erhält, so dass mein Test beim Vergleich fehlschlägt es. Aufgrund dieses Problems habe ich mich entschieden, diese Werte als doppelte Variablen anstelle von Strings zu vergleichen, aber ich erhalte den Fehler unten, wenn ich Double.parseDouble auf BeanShell verwende.Jmeter: Typisierte Variablendeklaration: Methodenaufruf Double.parseDouble
2016/08/17 12:48:45 ERROR - jmeter.util.BeanShellInterpreter: Fehler Aufrufen BSH Methode: Eval Sourced Datei: inline Evaluierung von:
print("Width Assertion..."); int Total_Printers_SQL = Integer.parseInt(vars.get . . . ''
: Eingegebene Variablendeklaration: Method Invocation Double.parseDouble2016/08/17 12:48:45 WARN - jmeter.assertions.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Fehler beim Aufrufen der bsh-Methode: eval Ausgelagerte Datei: Inline-Auswertung von:
print("Width Assertion..."); int Total_Printers_SQL = Integer.parseInt(vars.get . . . ''
: Typisierte Variablendeklaration: Methode Aufruf Double.parseDouble
Auch mit den Fehlern angezeigt Der Wert der Doppelvariablen wird auf der Jmeter-Eingabeaufforderung gedruckt, wie Sie unten sehen können.
Wenn jemand ein Experte ist und Beanshell konnte mir den Fehler identifizieren helfen, das wäre genial. Vielen Dank!
Versuchen Sie es mit 'Double.parseDouble (vars.get (" Printer_Width_SQL_ "+ i) .toString())' ... Es muss "gesagt" werden, dass es sich um eine Zeichenfolge handelt. –