Gurken-Test mit Cucumber

Mit Cucumber können Testfälle schön in Worte beschrieben werden. Hier mal ein schneller quick Einstieg.

Eine Testfall Beschreibung kann in Worten mit der Gherkin Syntax geschehen, z.B diese kalender.feature:

In Eclipse sind die JUnit-Test auch schön lesbar, z.B.:

Für Eclipse gibt es ein Natural 0.7.6 Plug-In für die *.feature Dateien. Das kann leicht über den Eclipse Marketplace installiert werden:

Einfach alles installieren:

Die Testfall implementierung kann z.B. so aussehen. Dieser Testfall gibt nur einen Kalender auf der Konsole aus, deshalb gibt es nur das Generieren:

Eine Testklasse zum starten des Testfalls:

Folgende Abhängigkeiten werden in der pom.xml benötigt:

Das ganze Testprojekt kann auf Github geladen werden.

Eine weitergehende Anleitung auf deutsch gibt es hier.

Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen

Manchmal will man sehen, was alles so in einer compilierten Java Datei steckt. Nicht immer hat man den Quelltext. Auch für die Fehlersuche ist ein Disassembler mal ganz gut.

In jedem JDK ist auch ein Disassembler javap dabei. Denn wollen wir nun einmal auf eine unbekannte Java Class Datei loslassen, um zu sehen, was es so zu sehen gibt.

Zuerst loggen wir uns auf die Kommandozeile eines Raspberry Pi ein, auf dem ein Java JDK installiert ist. Ob Java installiert ist kann mit

getestet werden. Wenn dort eine Versionsangabe geliefert wird, ist alles ok.

Dann legen wir erst mal ein Testverzeichnis an und wechsel in das Verzeichnis:

Dann holen wir uns in das Verzeichnis eine unbekannte Flugzeug.class Datei (der Quellcode ist hier zu finden):

Diese Datei wollen wir nun disassemblieren, mit

Schon bekommen wir alle gewünschten Informationen:

Nun schauen wir uns mal alle Möglichkeiten an: „Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen“ weiterlesen

Wie können in WordPress BPMN 2.0 Dateien angezeigt werden?

Dazu gibt es ein kleines WordPress Plugin mit Namen bpmn.io.
Die Anleitung zu dem bpmn.io Plugin ist hier zu finden.

Hier ein Beispiel meiner aktuellen Urlaubsplanung als BPMN 2.0. Man kann mit der Maus in das Bild klicken und über das Mausrad größer und kleiner scrollen.

[bpmn url=“http://blog.wenzlaff.de/wp-content/uploads/2016/08/transpazifik-kreuzfahr-2016.bpmn“ height=“250px“]

Habe ich was vergessen?

Wie können SDKarten auf einem Mac OS X mit f3x (als Alternative zu h2testw) überprüft werden?

Manche SDKarten die im Raspberry Pi laufen, hinterlassen den Eindruck, das sie defekt sind. Das kann man aber auch mit einem Mac überprüfen. Nachdem die SDKarte in den Kartenleser gesteckt wird, kann für den ersten Test, erst einmal die Karte gelöscht werden.

Dazu das Festplattendienstprogramm aufrufen. Dann links, unter den Punkt APPLE SD Card Reder die darunter liegende SDKarte selektieren und oben in der Menüleiste auf Löschen klicken.

feestplattendienstprogram

Dann als Format „MS-Dos-Dateisystem (FAT) “ wählen und auf den Button „Sicherheitsoptionen“ klicken.

optionen festplattendienstprogrammHier können jetzt die Anzahl der Löschversuche eingestellt werden. Hier für einen ausführlichen Test, den Schieber ganz nach links schieben. Das heißt es wird 7 Mal gelöscht.

sicherheitAuf OK, klicken und dann auf „Löschen„. Das kann dann für eine 16 GB SDKarte schon mal 3 Stunden dauern.

Während des löschen, kann auch parallel dazu die Aktivitätsanzeige gestartet werden. Wenn keine anderen aufwendigen Schreib/Lese Aktivitäten laufen, kann die Geschwindigkeit der Karte abgelesen werden:

aktivitätHier bei mir zw. 9-11,4 MB/s das ist für eine Class 10 Karte ok.

Wen das alles ohne Fehler läuft, ist der erste Test der Karte schon mal ok. Hier mal das Ergebniss:

Ergb. Erg. 2

Dann gibt es noch ein kostenloses externes Programm mit GUI für den Mac, welches alle Sektoren der Karte beschreibt und wieder einließt. Das f3x Programm:

f3x

Da kann einfach die SDKarte ausgewählt werden und auf „Start Test“ geklick werden. Der Download des Programmes geht hier.

Wenn alles OK ist, gibt das Programm diesen Dialog aus:

Bildschirmfoto 2016-07-26 um 17.06.29

Ich bevorzuge aber das Kommandozeilen Programm f3 da bekommt man dann eine schöne Logdatei bei dem Aufruf:

./log-f3wr 16-GB-SDKarte-.log /Volumes/SDKARTE/

Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder

Wer eine Fritzbox hat, kann dort auch Telefonbücher anlegen, so das beim Anruf eine E-Mail versendet wird. Bei mir wird bei Anruf auch eine Pushover Nachricht auf das Handy gesendet und der Name und die Nummer mit openHAB via Karotz angesagt, so das ich schon hören kann, wer anruft.

fritz
Das läuft über das openHab Fritzbox 064 Binding ganz gut. Von dem Bindig wird aber bisher nur das erste Telefonbuch aus der Fritzbox ausgelesen. Wer ein anderes benutzt muss die Daten exportieren und in dem ersten Telefonbuch wiederherstellen, da es keine löschen Funktion in der Fritzbox gibt.

Bei mir war noch das Problem, das viele Telefonnummern (über 600) Blanks, Bindestriche und Klammern enthielt. Z.B. (0)511-123 456 und die wird bisher in dem Binding nicht erkannt. Deshalb habe ich einen kleinen Konverter geschrieben, der alle Blanks, (,),- löscht und auch alle Nr. die kein +49 haben und mit 0 beginnen mit dem gültigen prefix +49 ohne 0 ergänzt. Weitere Regeln können leicht angepasst werden.

In diesem Java Programm, kann man auch sehen, wie mit einem SAXBuilder ein JDom Dokument erzeugt gelesen und verändert werden kann. Hier das Programm: „Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder“ weiterlesen

Wie kann ein Kalender auf der Konsole eines Raspberry Pi mit ccal unter Jessie angezeigt werden?

Wer schnell auf der Konsole seines Raspberry Pi oder Mac (da heißt es cal), einen Kalender anzeigen will, kann das schnell mit

machen. CCAL ist ein direkter Ersatz für das Standard-Kalenderprogramm von Unix. Es unterstützt Farben und die tägliche, wöchentliche und jährliche Erinnerung an Termine.

Einfach auf der Konsole

eingeben und schon erscheint dieser schöne Kalender:

ccal monat

Es geht noch besser, ein ganzes Jahr mit „Wie kann ein Kalender auf der Konsole eines Raspberry Pi mit ccal unter Jessie angezeigt werden?“ weiterlesen

pbuilder auf dem Raspberry Pi (wheezy) installieren und chroot-Umgebung erzeugen

Die pbuilder installation zum Paketbau unter chroot-Umgebung läuft wie folgt auf dem Raspberry Pi:

Wenn es beim ausführen von (mit Root-Rechten):

„pbuilder auf dem Raspberry Pi (wheezy) installieren und chroot-Umgebung erzeugen“ weiterlesen

Raspberry Pi: Coole DUMP1090 Diagramme zur Flugstatistik mit rrdtool

Der beginn eines neuen Jahres ist auch ein guter Zeitpunkt, für die Erfassung von einigen Flugdaten die der Raspberry Pi empfängt, wie z.B. ADS-B Message Rate, ADS-B Anzahl Flugzeuge, ADS-B max. Bereich, ADS-B Tracks, CPU Temperatur mit RRDtool (Round-Robin-Database) zu verarbeiten.

Flugzeug
Es gibt da ein gutes Script, welches die Installation erleichtert und Diagramme wie z.B. dieses von Silvester auf Neujahr in Hannover erstellt:

rrdtool bild

Und so wird es installiert „Raspberry Pi: Coole DUMP1090 Diagramme zur Flugstatistik mit rrdtool“ weiterlesen

ESP8266: ESPlorer für Lua Scripts

Wer Lua Scripte in den ESP8266 Flashen will, kann den kostenlos erhältlichen ESPlorer installieren. Da es ein Java Programm ist, läuft es auf Windows, Mac und Linux. Bei mir läuft es im Moment unter Mac OS X El Capitan super.

Die Installation ist einfach.

Es muss nur von dieser russischen Seite das aktuelle Archive geladen werden und nach dem entpacken das ESPlorer.jar mit einem doppelklick gestartet werden. Java muss natürlich installiert sein. Nach dem Starten finden wir eine schöne GUI vor.

esplorer

Es können nun mit Syntax Hervorhebungen Lua-Scripte geschrieben und einfach hochgeladen werden. Auch einige andere nützliche Funktionen sind vorhanden. Hier ein teil der Orginal Feature Liste: „ESP8266: ESPlorer für Lua Scripts“ weiterlesen

Wie können Tabellen in WordPress mit TablePress als PDF, CSV und im Excel Format exportiert werden?

Mit dem TablePress Plugin können leicht Tabellen erstellt und angezeigt werden.
Manchmal möchte man diese Tabelle als PDF oder als Excel exportieren. Das geht mit dem DataTables Buttons Plugin sehr schnell und einfach.

Dazu 1. die ZIP-Datei von downloaden.

2. Die Datei im Worpress Menü: Plugins – Installieren unter Plugin hochladen auswählen.

wp

3. Datei hochladen und Plugin aktivieren. „Wie können Tabellen in WordPress mit TablePress als PDF, CSV und im Excel Format exportiert werden?“ weiterlesen

CSV Testdaten Generator (Oder wer testet ist feige? NEIN) und mehr Tools für CSV to …

Mit dem CSV-Testdaten-Generator kann schnell und einfach jegliche Art von Testdaten erzeugt werden. Die dann leicht in JUnit und sonstwie weiterverwendet werden können.

Auch andere gute Tools für die Bearbeitung von CSVs sind dort zu finden. z.B.

  • Convert CSV To Delimited – reformat, filter, and sort delimited data
  • Convert CSV To Fixed Width or ASCII Table
  • Convert CSV To GeoJSON
  • Convert CSV To HTML Table or MediaWiki Table New
  • Convert CSV To JSON
  • Convert CSV To KML
  • Convert CSV To Multi-line Data
  • Convert CSV To SQL
  • Convert CSV To XML
  • Convert CSV To YAML
  • Pivot CSV Tool
  • Convert Fixed Width To CSV
  • Convert GeoJSON To CSV
  • Convert HTML Table To CSV
  • Convert JSON To CSV
  • Convert SQL To CSV
  • Convert XML To CSV
  • Convert YAML To CSV

Z.B. geben wir in der Eingabe Zeile folgende Schlüsselwörter an:

seq; first; last; name; email; latitude; longitude; domain; string

Wählen noch die Anzahl der zu erzeugenden Datensätze, z.B. 10 und klicken auf „Generate Test Data“.

Schon werden die Testdaten erzeugt, z.B.:

Mit klick auf „Save to Disk“ können die Testdaten in eine Datei gespeichert werde.

Die Testdaten werden auf dem Client erzeugt, und werden also nicht an den Hersteller der Seite gesendet.

Nun können wir die CSV Testdaten auch in eine HTML Tabelle umwandeln, hier nur die Spalten 1,2,3 eingegeben:

[seq first last
1 Nevaeh Flores
2 Raymond Castillo
3 Alex Vega
4 Emery Chapman
5 Ayla Price
6 Eden Ortega
7 Eva Higgins
8 Jaden Maxwell
9 Bryson Wood
10 Gabriel West

Wer die CSV dann in XML umwandel möcht, kann dies auch leicht mit dem CSV to XML Converter tun. Hier mal die CSV die oben generiert wurde:

Oder mal eben 1000 Passwörter die 20 Stellen haben generieren mit:

seq,string(20)

Weitere Ideen?

Wie kann eine mit Google Earth erzeugte Wegpunktdatei im KML Format in das CSV Format umgeformt werden (KML to CSV)?

Manchmal will man eine KML Datei mit Wegpunkten mit Google Earth erstellen. Z.B. eine Liste aller Krankenhäuser, Blizer, Fastfood-Läden usw. Wenn die dann in Excel oder für eine Datenbank benötigt werde, muss sie evl. in das CSV Format (mit Lan, Lon, Beschreibung) umgeformt werden.

Das geht sehr gut mit GPSBabel. Welches auch viele andere Formate für GPS-Geräte umwandeln kann.

Also zuerst die KML Datei mit Google Earth erstellen. Dazu alle Waypoints erzeugen und dann die Liste links selektieren und mit rechstklick das Kontexmenü öffnen Orte speichern unter wählen. Im Dialog als Dateityp kml wählen und speichern.Google Earth

Wenn GPSBabel installiert ist „Wie kann eine mit Google Earth erzeugte Wegpunktdatei im KML Format in das CSV Format umgeformt werden (KML to CSV)?“ weiterlesen

Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?

Wenn ein Kismet-Server auf dem Raspberry Pi läuft, muss der Server sauber rauf und runter gefahren werden, sonst werden die *NETXML Dateien wegen einem fehlenden sync nicht vollständig auf die SD-Karte geschrieben. Das Problem ist aber, wie kann der Raspberry Pi eingerichtet werden, so das der gpsd und Kismet automatisch hoch und auch sauber wieder runter fahren, ohne das ein Bildschirm bzw. Konsole angeschlossen wird? Und wie kann vom GPS Empfänger die Systemzeit gesetzt werden, da der Raspberry Pi ja keine Systemuhr hat und es beim WarWalking kein Internet mit NTP gibt ?

Die Lösung des Problems wird in dieser Anleitung beschrieben.

Wir brauchen ein Script zum automatischen hochfahren und ein Script das auf einen Tastendruck wartet. „Raspberry Pi: Wie kann der Kismet-Server sauber rauf und runter gefahren werden zum WarWalking (WarDriving)?“ weiterlesen

Wie kann der Plug-in Spy für UI Teile oder der Menü Syp auf dem Mac (Win) von Eclipse aufgerufen werden?

Wenn man in Eclipse sehen will, welche UI Komponenten gerade selektiert bzw. aktiv sind, kann der Plug-in Spy verwendet werden. Mit dem kann auch mit nur einen klick auf den Quellcode des jeweiligen aktiven Plug-ins zugegriffen werden. Wie kann der aber auf einem Mac aufgerufen werden (Vier Tasten gleichzeitig): fn+shift+alt+F1 (auf Windows Alt+Shift+F1)
Es erscheint dann solch ein PopUp-Dialog:
Eclipse Spy
und noch ein Beispiel:
Popup Spy

Analog dazu gibt es auch einen Spy für die Menüs, der wird mit fn+shift+alt+F2 (auf Windows Alt+Shift+F2) aufgerufen und dann ein Menüpunkt auswählen, es kommt dann z.B. dieser Dialog:
Menü Spy

JUnit 4.12 erschienen

Nach über 2 Jahren ist nun eine neue Version von JUnit veröffentlicht worden. Die Releasenotes sind auf Github zu finden. In folgenden Bereichen gab es Ergänzungen:

Ok, dann mal gleich das aktuelle Maven Projekt TWFlug auf die neue Version 4.12 angepasst:

Und siehe da, alles GRÜN:
Bildschirmfoto 2014-12-14 um 16.47.52

Mehr über JUnit oder drei Gründe warum man keine JUnit-Tests schreiben sollte.

Wie wird Truecrypt 7.1auf einem Raspberry Pi installiert?

Truecrypt 7.1 kann gut wie in dieser Anleitung beschrieben installiert werden.

Hier in Kurzform wie die nötigen Packages geladen, ausgepackt und selbst compiliert werden können, da es für den rPi keine fertigen Packages gibt. Der compile Vorgang dauert ca. 1 Stunde, dabei darf das Terminal Fenster nicht geschlossen werden.

Ergebnis: TrueCrypt 7.1a

Nun alle Befehle ausgeben mit:

liefert die Anleitung:

HTML und CSV #Kismet Reports auf dem #Raspberry Pi generieren

Wie können aus den von Kismet generierten *.netxml Logdateien lesbare HTML oder CSV Dateien bzw. Reports erstellt werden?

Mit diesem Log-Viewer.

Installation

Das Archive klv-2.01.tar.gz laden und auspacken.

Das Verzeichnis klv-2.01 in das /home/pi/kismet kopieren und in das Verzeichnis wechseln mit

Python Script starten mit aufruf des Verzeichnisses, wo die Logdateien (*.netxml) liegen, also ein Verzeichnis höher

es wird in dem Verzeichnis eine kismet-log-summary.html generiert, hier ein Beispiel Report.

Oder für die CSV Generierung

erzeugt kismet-log-summary.csv.

SelBlocks für Selenium installieren oder „Wer testet ist feige“

Das Plug-In SelBlocks für die Selenium IDE darf nicht fehlen. Also über diese Seite installieren und den Browser neu starten:
Bildschirmfoto 2014-10-07 um 19.53.13

Das Plugin ist eine Erweiterung für die Selenium IDE und fügt der IDE die folgenden doch immer nötigen Befehle hinzu:

  • if, elseIf, else
  • try, catch, finally, throw
  • for, foreach, while, continue, break
  • call, function, return
  • loadJsonVars, loadXmlVars, forJson, forXml
  • exitTest

Die Selenium IDE muss natürlich vorhanden sein:
Bildschirmfoto 2014-10-07 um 19.54.42

Eine ausführliche Beschreibung und auch Beispielen sind auf dieser Seite zu finden.

Wie kann für Präsentationen usw. eine Schlagwortwolke (tag cloud, word cloud) erzeugt werden?

Wer eine einfach Schlagwortwolken braucht, kann so was über tagcrowd.com kostenlos erzeugen lassen.Bildschirmfoto 2014-09-04 um 12.55.21

Schönere Ergebnisse, gab es hier bei wordle.net/create. Dazu muss aber Java im Browser aktiviert werden. So sieht das Applet aus:
Bildschirmfoto 2014-09-04 um 13.29.42

Hier mal sechs Beispiele, die Möglichkeiten sind unendlich:

Bildschirmfoto 2014-09-04 um 12.59.08Bildschirmfoto 2014-09-04 um 13.11.23 „Wie kann für Präsentationen usw. eine Schlagwortwolke (tag cloud, word cloud) erzeugt werden?“ weiterlesen

Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?

Network top ist ein Tool welches Netzwerkverkehr mitschneiden und analysieren kann. Ntop bringt einen eigenen Webserver mit und erzeugt schöne Grafiken.

Auf einem Raspberry Pi kann es schnell installiert werden mit:

sudo apt-get install ntop rrdtool
chmod 755 /var/lib/ntop
chown -R nobody:nogroup /var/lib/ntop/rrd

Während der Installation kommt dieser Dialog wo man die Schnittstelle eth0 angeben kann: „Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?“ weiterlesen

Wie kann das klassische Tool, nmap Version 6.46 zum Analysieren eines LANs (und auch WLANs) auf einem Raspberry Pi installiert werden?

Habe schon in einigen Beiträgen von nmap berichtet. Heute wird die Installation und erste Befehle für den Raspberry Pi beschrieben.

Die Aktuelle nmap Version 6.46 braucht nicht aus den Sourcen compiliert werden, da es für den rPi fertige Packages gibt (Update: 26.07.2018: aktuell 7.4. obwohl es schon eine 7.7. gibt, aber noch nicht für den PI)

Also erst das System auf den aktuellen Stand bringen und nmap installieren:


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nmap

Nach ein paar Minuten ist nmap installiert. Erster Test, ausgabe der nmap Version:

nmap -version

Das Ergebnis:
Bildschirmfoto 2014-07-22 um 20.19.37

So, jetzt den ersten Scann aller vorhandenen Adressen, aber nur auf eigene Netzwerke wie hier beschrieben:

nmap -sP 192.168.2.0/24

Schon werden alle 256 IP Adressen in 8 Sekunden gescannt:

Host is up.
nmap done: 256 IP addresses (15 hosts up) scanned in 8.41 seconds

Oder alle offenen Ports anzeigen mit:

nmap localhost

Oder wenn man das Ziel Betriebssystem ermitteln will, das dauert aber etwas:

nmap -O -v localhost

Manchmal braucht man eine Liste aller Hosts im Netzwerk, das geht so:

nmap -sn 192.168.2.0/24

Und eine Mindmap zu nmap
20130824-082515.jpg

Eine sehr ausführliche deutsche Beschreibung gibt es unter

man nmap

Welche Befehle findet ihr noch nützlich?

Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?

Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only

Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical

Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8

Hilfe gibt es mit

ettercap -h

Hier ein kleiner Überblick zu Ettercap als Mindmap:
ettercap

Starten im Text Modus mit

ettercap -T

oder mit einer Text-GUI:
ettercap -C

ettercap Bildschirmfoto 2014-07-14 um 20.36.40

Quickstart MITM-Attacke

MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:

ettercap -C

Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC

Hier mal ein paar Statistics eines kurzen test Laufs:
Bildschirmfoto 2014-07-14 um 21.44.38

Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing

Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.