Post on 14-Apr-2017
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator erweitern
Daniel Nordhoff-Vergien
2. Marz 2016
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Gliederung
1 Vaadinator, was ist das?
2 Erweitern
3 WebDriver Erweiterung
4 WebDriver Erweiterung live
5 Aussicht
6 Links
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator
Code Generator
Erstellt eine MVP Anwendung aus annotierten Java Klassen
@DisplayBean um eine Klasse, @DisplayProperty um ein Feld,zu kennzeichnen
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator
Code Generator
Erstellt eine MVP Anwendung aus annotierten Java Klassen
@DisplayBean um eine Klasse, @DisplayProperty um ein Feld,zu kennzeichnen
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator
Code Generator
Erstellt eine MVP Anwendung aus annotierten Java Klassen
@DisplayBean um eine Klasse, @DisplayProperty um ein Feld,zu kennzeichnen
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator Beispiel
@DisplayBean(captionText = "Adresse ")public class Address {
@DisplayPropertyprivate String vorname;
@DisplayProperty(profileSettings = {@DisplayPropertySetting(required =true) })
private String nachname;
// Mehr Felder
// Getter , Setter , etc}
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Das Erzeugt
MVP CURD Oberflache
Service- und DAO-Klassen fur EJB und JPA
Mapper
Klassen fur Fitnesse
Aber ich brauch noch was...
Aber ich will nicht die ca. 500 Zeilen Methode erweitern...
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Das Erzeugt
MVP CURD Oberflache
Service- und DAO-Klassen fur EJB und JPA
Mapper
Klassen fur Fitnesse
Aber ich brauch noch was...
Aber ich will nicht die ca. 500 Zeilen Methode erweitern...
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Java SPI
Java SE “Plugin” Mechanismus
Klasse implementiert ein Interface
Implementierung wird inMETA-INF/services/full.qualified.interface.nameregistriert
Implementierungen konnen mit java.util.ServiceLoadergeladen werden
In unserem Fall:de.akquinet.engineering.vaadinator.generator.CodeGenerator
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Java SPI
Java SE “Plugin” Mechanismus
Klasse implementiert ein Interface
Implementierung wird inMETA-INF/services/full.qualified.interface.nameregistriert
Implementierungen konnen mit java.util.ServiceLoadergeladen werden
In unserem Fall:de.akquinet.engineering.vaadinator.generator.CodeGenerator
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Einbinden
<plugin ><groupId >de.akquinet.engineering.vaadin.vaadinator </groupId ><artifactId >VaadinatorGenerator </artifactId ><version >0.20- SNAPSHOT </version ><dependencies >
<dependency ><groupId >de.akquinet.engineering.vaadin.vaadinator </groupId ><artifactId >VaadinatorGeneratorWebDriver </artifactId ><version >0.20- SNAPSHOT </version >
</dependency ></dependencies ><!-- cut -->
</plugin >
Das ist schoner als die Klasse zu patchen
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Einbinden
<plugin ><groupId >de.akquinet.engineering.vaadin.vaadinator </groupId ><artifactId >VaadinatorGenerator </artifactId ><version >0.20- SNAPSHOT </version ><dependencies >
<dependency ><groupId >de.akquinet.engineering.vaadin.vaadinator </groupId ><artifactId >VaadinatorGeneratorWebDriver </artifactId ><version >0.20- SNAPSHOT </version >
</dependency ></dependencies ><!-- cut -->
</plugin >
Das ist schoner als die Klasse zu patchenDaniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
WebDriver Page Objects
Benutzt Selenium, WebDriver Extensions und “Addon Testhelpers” Addon
Erzeugt eine “Component” Klasse pro View (List, Add undChange)
Erzeugt eine “Page” Klasse pro DisplayBean
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
WebDriver Page Objects
Benutzt Selenium, WebDriver Extensions und “Addon Testhelpers” Addon
Erzeugt eine “Component” Klasse pro View (List, Add undChange)
Erzeugt eine “Page” Klasse pro DisplayBean
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
WebDriver Test live
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Aussicht
Aufraumen: “SySo Logging”, JavaDoc, ...
“Alten” Generator modularisieren (?)
Eure Erweiterungen
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Links
https://github.com/akquinet/vaadinator
https://github.com/dve/vaadinator
http://docs.seleniumhq.org/
https://github.com/webdriverextensions/webdriverextensions
https://github.com/mstahv/addon-test-helpers
Daniel Nordhoff-Vergien
Vaadinator erweitern