2014-11-20 18 views
16

Ich möchte das aktuelle Datum und Uhrzeit als Beispiel Datum: 11/10/2014 und Zeit 8:30 oder 18:00 Uhr und übergeben Sie es als Parameter zu meinem Jmeter Test. Kann mir jemand dabei helfen?Jmeter - aktuelles Datum und Uhrzeit erhalten

+0

Wenn Sie diese Frage vor einigen Jahren gestellt haben, würde ich jmeter installiert haben und ich würde dies beantworten. Aber etwas dabei solltest du tun. 1. Erstellen Sie einen Beanshell-Prozessor und führen Sie den Java-Code 'new Date()' aus und speichern Sie ihn in einer Variablen und verwenden Sie diese Variable in Ihrem Test einfach wieder. – ant

+0

Ich habe es versucht. Ich bin nicht sehr vertraut mit Java, aber versucht $ {__ BeanShell (neues java.text.SimpleDateFormat ("MM/TT/JJJJ HH: mm: ss"). Format (neues Datum()))}. Es wirft mir einen Fehler "jmeter.util.BeanShellInterpreter: Fehler beim Aufruf der bsh-Methode: eval \t In Datei: Inline-Auswertung von: '' 11/20/2014 09:25:34; '' 0 "in Zeile 1, Spalte 12." – user3920295

Antwort

39

Verwenden __time Funktion:

  • $ {__ Zeit (tt/mm/jjjj,)}

  • $ {__ Zeit (hh: mm a,)}

Seit JMeter 3.3 gibt es zwei neue Funktionen, mit denen Sie eine Zeit berechnen können:

__timeShift

"The timeShift function returns a date in the given format with the specified amount of seconds, minutes, hours, days or months added" and 

__RandomDate

"The RandomDate function returns a random date that lies between the given start date and end date values." 
+0

Es hat funktioniert !!! Danke – user3920295

+0

Gibt es eine Möglichkeit, diesem Wert einige Stunden hinzuzufügen, um den Zeitstempel in der Zukunft zu setzen? – tester

+1

Um das Datum zu ändern, könnten Sie stattdessen __javascript verwenden, um zB einen Zeitstempel von 6 Stunden in der Zukunft zu erhalten: $ {__javaScript (neues Datum (new Date(). setHours (neues Date(). getHours() + 6)). toISOString())} – Sybrand

15

es scheint, die Java Simple zu sein: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

sind hier einige Tests, die ich am 20. Mai 2015

${__time(dd-mmm-yyyy HHmmss)} 20-032-2015 233224 
${__time(d-MMM-yyyy hhmmss)} 20-May-2015 113224 
${__time(dd-m-yyyy hhmmss)} 20-32-2015 113224 
${__time(D-M-yyyy hhmmss)} 140-5-2015 113224 
${__time(DD-MM-yyyy)}   140-05-2015 
+1

Gibt es eine Möglichkeit, diesem Wert einige Stunden hinzuzufügen, um den Zeitstempel in der Zukunft festzulegen? – tester

+0

Es gibt keinen einfachen Weg, aber es gibt zwei harte Wege: –

+1

1) Verwenden Sie einen Beanshell-Interpreter, um ein Datum mit Java einzustellen (siehe die Kommentare zur ursprünglichen Frage). 2) Setze die Zeit in eine oder mehrere Variablen und benutze eine langweilige Reihe von jMeter-Funktionen (intNum und Split), um den gewünschten Zeitstring zu erzeugen. –

9
Zustand um 11.30 Uhr

JMeter verwendet Java SimpleDateFormat

Für UTC mit Zeitzone Verwendung dieses

${__time(yyyy-MM-dd'T'hh:mm:ssX)} 
+1

Gibt es eine Möglichkeit, diesem Wert einige Stunden hinzuzufügen, um den Zeitstempel in der Zukunft festzulegen? – tester

5

Verwenden ${__time(yyyy-MM-dd'T'hh:mm:ss)} zu Zeit in einen bestimmten timeformat umwandeln. Hier sind andere Formate, die Sie verwenden können:

yyyy/MM/dd HH:mm:ss.SSS 
yyyy/MM/dd HH:mm:ss 
yyyy-MM-dd HH:mm:ss.SSS 
yyyy-MM-dd HH:mm:ss 
MM/dd/yy HH:mm:ss 

können Sie Z-Zeichen Millisekunden verwenden zu bekommen. Zum Beispiel:

yyyy/MM/dd HH:mm:ssZ => 2017-01-25T10:29:00-0700 
yyyy/MM/dd HH:mm:ss.SSS'Z' => 2017-01-25T10:28:49.549Z 

der Zeit die meisten yyyy/MM/dd HH:mm:ss.SSS'Z' in einigen APIs erforderlich ist. Es ist besser zu wissen, wie man Zeit in dieses Format umwandelt.

2

Tatsächlich für UTC ich Z anstelle von X, z.

${__time(yyyy-MM-dd'T'hh:mm:ssZ)} 

, die mir gegeben haben:

2017-09-14T09:24:54-0400 
1

Verwenden Sie dieses Format: $ {__ Zeit (yyyy-MM-dd'T'hh: mm: ss.SS'Z ')}

Welches gibt Ihnen: 2018-01-16T08: 32: 28.75Z

Verwandte Themen