| |
Hinweise
| Die Client HitTest ist ein einfaches Java-Programm zum senden
beliebiger HITP-Befehle an einen HIT-Server. |
| Für die sogenannten
HIT-Unit-Tests gibt es noch ein neues wesentlich besseres Tool,
siehe "Systematische Tests" |
| Es dient zum Testen von Befehlen und Antwortabfolgen. |
| HitTest kann auch zum Abholen von Daten dienen, insbesondere semikomplexe und komplexe
Datenstrukturen |
| Das Programm HitTest ist nicht der Batch-Client ! Es wird aber zusammen
mit dem HitBatch-Client ausgeliefert und installiert |
| Zur Installation müssen Sie folgende zwei ZIP-Files herunter laden:
Datenbereich\HitUpros.zip und
Datenbereich\HitBatch.zip |
| Bitte passen Sie die Steurdatei HitTest.INI immer an Ihre Bedürfnisse
an! |
| Weitere Hinweise siehe analog HitBatch-Client
und HitPop. |
Versionshistorie
Version |
Freigabe |
Verfügbare Funktionen & Neuigkeiten |
offen |
offen |
- Aufbereitung komplexer Datenstrukturen, ggf. XML-Ausgabe
|
3 |
04.07.2003 |
- Einführen von Schleifenstrukturen mit Wertersetzung
- Mehrstufige, aufeinander aufbauende Schritte sind möglich
- Aufbereitung der Zwischenergebnisse und Ausgaben mit der neuen POP
("Post-Processing") Funktionalität (siehe auch HitPop)
|
2 |
30.12.1999 |
- Vereinfachung des INI-Files
- Parameter zur definierten Ausgabe in LOGFILE und OUTFILE
- Bestimmen der Datenausgabe roh ins LOGFILE oder aufbereitet ins OUTFILE über SCHWERE..
|
1 |
24.03.1999 |
- Erste Version zur rohen Datenübertragung
|
Beschreibung
Übersicht
- Einfacher Client zum Testen der verschiedener Komponenten und zum universellen Senden
beliebiger Befehle an den HIT-Server.
- Die Befehle stehen in der INFILE-Datei
- Ein ausführliches Protokoll steht im LOGFILE
- Antwortdaten stehen in OUTFILE,
außer durch Angabe von Schwere=-1..-3 wurde eine rohe
Ausgabe in LOGFILE erzwungen.
- Der HitTest ist ein sehr gutes einfaches Werkzeug um das HITP Protokoll aus zu testen oder automatisierte Abläufe auf niedriger Protokollebene
durch zu führen.
- Durch die neuen Möglichkeiten mit Schleifen Platzhalter zu ersetzen sind komplexe verschachtelte Abläufe
realisierbar.
- Passwörter können durch die Schleifenkonstruktion LOOPASK wenigstens an der Konsole zur Eingabe gepromptet werden.
Sie erscheinen damit aber immer noch auf dem Schirm und i.d.R. im LOG-File,
außer das "EchoLevel" wurde entsprechend heruntergesetzt.
Anmeldeprobleme
Sollte die Anmeldung fehlschlagen, erhalten Sie allerdings bei mittel "ECHOLEV
0" ausgeschaltetem Output keinerlei Hinweise, lediglich die nachfolgenden Aktionen schlagen fehlt, weil
der Server die Verbindung abgebrochen hat.
Wenn Sie also folgende Meldung sehen:
"Fehler in Verbindung zum Server : Abbruch beim Transfer-String zur HIT-Zentrale.
java.net.SocketException: Socket read failed: 10053"
deutet das auf ein falsches Anmeldepasswort hin. Ggf. müssen Sie dann test
weise auf das Unterdrücken der
Ausgabe bei der Anmeldung verzichten.
Aufrufsyntax
[set CLASSPATH=HitBatch.jar;HitUpros.jar;%CLASSPATH%]
java.exe HitBatch.HitTest [HitTest.INI]
Erweiterte Funktionen der Version 3
| Innerhalb der Folge der Inputlines sind Iterationen als Schleifen mit Parametern möglich. |
| Sie werden mit einem Loop-Beginn-Ausdruck eingeleitet (siehe unten Loop-Beginn). |
| Sie werden mit einem Loop-Ende-Ausdruck beendet (siehe unten Loop-Ende). |
| Innerhalb der LOOP können die einzelnen Werte der der Iteratorzeilen mit [x] x=1..n oder 0=Zeilennr. benutzt werden. |
| Als Input-Separator zur Trennung der Argumente gilt das Semikolon. Dies kann aber mittels SEP_IN geändert werden. |
| Die LOG- und OUT-Files sowie zugehörige Append-Parameter können auch im Ablauf durch
Parameter-Befehle geändert werden (siehe unten Parameter-Befehle). |
| Damit die Ausgabe in die OUT-Files flexibler angepasst werden kann, um z.B. den Output direkt in Excel-gerechtes CSV zu wandeln (Dezimalpunkt-Problematik)
oder um Timestamps als Input in einem späteren Step nutzen zu können, gibt
es neue Befehle zum "Post-Processing" eingeführt (siehe unten POP-Befehle).
| Es kann eine beliebige Anzahl von POP-Befehlen nacheinander angegeben werden. |
| Die Befehle können auf 6 Stellen gekürzt werden. |
| Alle Befehle werden in der gegebenen Folge abgearbeitet. Der jeweils nächste Befehl arbeit auf die schon veränderten Inhalte
und ggf. veränderten Strukturen (wenn z.B. eine Spalte ausgeschlossen wird, müssen die nachfolgenden Befehle das berücksichtigen). |
| Ziel ist es bestimmte Zeilen oder ganze Spalten zu verwerfen oder die Zeilen oder einzelne Spalten gezielt zu verändern. |
| Das Post-Processing funktioniert nur wenn die Ausgabe explizit mit OUTFILE gesetzt wurde! |
| Wenn ein neuer Satz von Befehlen benötigt wird, ist der vorhandene Befehlsstapel erst zu löschen. |
|
| Seit der Version 4 dürfen LOOP-Iteratoren auch verschachtelt werden! |
Befehle im Einzelnen
LOOPLIST
<wertliste> |
Nur eine Zeile möglich, Werte mit
Input-Separator (i.d.R. Semikolon) getrennt, werden zu Spalten 1.n einer
Zeile |
LOOPLROW
<wertliste> |
Nur eine Zeile möglich, Werte mit Input-Separator getrennt, werden zu
Spalten 1 von 1..n Zeilen |
LOOPFN
<dateiname> |
FILE NOHEAD (m Zeilen
mit n Spalten möglich) war früher LOOPFILE |
LOOPFH
<dateiname> |
FILE HEADLINE (m Zeilen mit n Spalten möglich) erste Zeile wird
ignoriert |
LOOPASK
<promptliste> |
nur eine Zeile möglich, Werte mit Input-Separator getrennt, werden zu
Spalten 1.n einer Zeile |
LOOPNEXT |
Schleifenende mit Iteration zur nächsten
Zeile bis keine Zeilen mehr vorhanden sind. |
LOOPEND |
Schleifenende ohne weitere Iteration, d.h. nach Abarbeiten der ersten
Zeile geschlossen, unabhängig ob weitere Zeilen vorhanden sind. |
LOGFILE
<dateiname> |
setzt das LOG-File auf angegebene Datei, Append oder
Overwrite je nach Parameter in INI |
LOGFAPP
<dateiname> |
setzt das LOG-File auf angegebene Datei, mit Append, d.h. es wird an
Datei angehängt |
LOGFNEW
<dateiname> |
setzt das LOG-File auf angegebene Datei, mit Overwrite, d.h. die Datei
wird überschrieben |
OUTFILE
<dateiname> |
setzt das OUT-File auf angegebene Datei, Append oder Overwrite je nach
Parameter in INI |
OUTFAPP
<dateiname> |
setzt das OUT-File auf angegebene Datei, mit Append und ohne Spaltenüberschriften
!! |
OUTFNEW
<dateiname> |
setzt das OUT-File auf angegebene Datei, mit Overwrite und Spaltenüberschriften |
SEP_IN
<separator> |
setzt der Input-Separator für LOOP-Files und Parameterlisten (Default
ist Semikolon) |
SEP_OUT
<separator> |
setzt der Output-Separator (CSV-Filetrenner, Default ist Semikolon) |
ECHOLEV
<wert | DEFAULT> |
setzt den Ausgabeumfang, z.B. vor LOGON-Verarbeitung herabsetzen. |
POP_CLEAR |
Befehlsstapel löschen, entferne alle POP-Befehle
aus der Befehlsliste |
POP_RDROP <val> |
Verwerfe Output-Row wenn irgendwo in der Zeile der Wert <val>
vorkommt |
POP_CDROP <colnr>;<val> |
Verwerfe Output-Row wenn Spalte <colnr> (1..n) den Wert <val>
hat |
POP_RCHNG <old>;<new> |
Change Old-String <old> to New-String <new> für die ganze
Zeile, unabhängig von Spalten |
POP_CCHNG <c>;<o>;<n> |
Change in Spalte <c> Old-String <o> to New-String <n> |
POP_TSTAMP <c>;<patt> |
Formatiere wenn Timestamp in Spalte <c> gemäß Format, z.B.
yyyy-MM-dd-hh.MM.ss.SSSSSS |
POP_DATE <c>;<patt> |
Formatiere wenn Datum
in Spalte <c> gemäß Format, z.B. dd.MM.yyyy |
POP_TIME <c>;<patt> |
Formatiere wenn Zeit
in Spalte <c> gemäß Format, z.B. hh:MM |
POP_NUM
<c>;<patt> |
Formatiere wenn Numerisch in Spalte <c> gemäß Format, z.B.
##0,00 |
POP_UCASE <c> |
Formatiere String in
Spalte <c> uppercase |
POP_LCASE <c> |
Formatiere String in
Spalte <c> lowercase |
POP_LOM <c> |
Formatiere String in
Spalte <c> als Alpha-Ohrmarke |
POP_BNR <c> |
Formatiere String in
Spalte <c> als Alpha-Betriebsnummer |
POP_CEXCL <colnr> |
Schließe die Spalte <colnr> generell von der Ausgabe aus
(hilfreich bei #-Funktionen, ähnliche Effekte wie FUNCONLY erzielbar) |
POP_CONST <c>;<konst> |
Ersetze Inhalt in Spalte <c> durch Konstante <konst> |
Beispiele
Parameterdatei: HitTest.INI
[GLOBAL]
;
; Das ist die Parameterdatei für HitTest, nicht für den HitBatch-Client (siehe HitBatch.ini) !!
;
; Im Internet lauten die Namen der Server hitserver.hi-tier.de(Primary) und hitbackup.hi-tier.de(Secundary)
; nur im Notfall sollten die IP-Adressen: 212.18.9.51(Primary) und 194.94.221.3(Secundary) ! verwendet werden
; denn wir müssen uns vorbehalten die IP-Adressen zu ändern. Die DNS-Namen sollten immer gleich bleiben.
PRIMARYSERVER=hitserver.hi-tier.de
; Testsystem ist 2223, Produktion ist 2222
PRIMARYPORT=2223
; Anders als beim HitBatch-Client kommen alle Antworten mit Schwere >= 0 ins LOGFILE
; SCHWERE: -1=uniforme Daten, -2=semikomplexe Daten, -3=komplexe Daten
SCHWERE=-99
[SET-1]
INFILE=.\HitTest\HitTest.BEF
OUFILE=.\HitTest\HitTest.OUT
LOGFILE=.\HitTest\HitTest.LOG
Die jeweils aktuellen Informationen zu HI-Tier
Internet-Adressen und Ports siehe
IP-Adressen.
einfache Befehlsdatei: HitTest.BEF
;
; Diese Datei beinhaltet Testsätze für den einfachen HitTest-Client
; Zeilen mit Semikolon am Anfang werden ignoriert
; Jede Zeile ist eine Befehl und ist wie folgt aufgebaut
; <Einleitung>:<Befehl>:<Meldung>:<Feldliste>:<Datenliste>
; Feld- und Datenlisten sind im Strict-CSV
;
*1:XS:LOGON:VERBOSE;BNR15;PIN;MELD_WG:3;276000000000001;900001;2
*2:XF:ABGANG:LOM;BNR15;ABGA_DAT:276000912345678;271099561230041;30.11.1998
*3:XF/E:ABGANG:
*4:XS:LOGOFF::
Befehlsdatei mit Schleife
LOOPASK Bitte Betriebsnummer eingeben;Bitte PIN eingeben
ECHOLEV 0
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:#[1];#[2];3;1800
ECHOLEV DEFAULT
LOOPEND
;
LOOPFILE c:\tmp\xxx.csv
*2:XF:ABGANG:LOM;BNR15;ABGA_DAT:#[1];#[2];#[3]
LOOPNEXT
;
*3:XF/E:ABGANG:
*4:XS:LOGOFF::
Befehlsdatei mit Post-Processing
SEP_IN ;
LOOPASK Bitte Betriebsnummer eingeben;Bitte PIN eingeben
*1:XS:LOGON/BNR15;PIN;MELD_WG;TIMEOUT:#[1];#[2];3;1800
LOOPEND
;
POP_CLEAR
POP_RDROP Exception
POP_CDROP 1;%--
POP_RCHNG %--;
POP_CCHNG 1;.;,
POP_TSTAMP 2;yyyy-MM-dd-hh.MM.ss.SSSSSS
POP_DATE 4;dd.MM.yyyy
POP_TIME 1;hh:MM
POP_NUM 2;##0.00
POP_UCASE 2
POP_LCASE 3
;
LOOPFILE c:\tmp\xxx.csv
*2:XS:ABGANG:LOM;BNR15;ABGA_DAT;#VERBLEIB():#[1];#[2];#[3]
LOOPNEXT
;
*3:XF/E:ABGANG:
*4:XS:LOGOFF::
Zurück zum Anfang |