Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Vaadinator erweitern
Daniel Nordhoff-Vergien
2. M¨arz 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
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
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 {
@DisplayProperty
private 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 Ober߬ache
Service- und DAO-Klassen f¨ur EJB und JPA
Mapper
Klassen f¨ur Fitnesse
Daniel Nordhoff-Vergien
Vaadinator erweitern
Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links
Das Erzeugt
MVP CURD Ober߬ache
Service- und DAO-Klassen f¨ur EJB und JPA
Mapper
Klassen f¨ur 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 in
META-INF/services/full.qualified.interface.name
registriert
Implementierungen k¨onnen mit java.util.ServiceLoader
geladen werden
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 in
META-INF/services/full.qualified.interface.name
registriert
Implementierungen k¨onnen mit java.util.ServiceLoader
geladen 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
<artifactId >VaadinatorGenerator </artifactId >
<version >0.20- SNAPSHOT </version >
<dependencies >
<dependency >
<groupId >de.akquinet.engineering.vaadin.vaadin
<artifactId >VaadinatorGeneratorWebDriver </arti
<version >0.20- SNAPSHOT </version >
</dependency >
</dependencies >
<!-- cut -->
</plugin >
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
<artifactId >VaadinatorGenerator </artifactId >
<version >0.20- SNAPSHOT </version >
<dependencies >
<dependency >
<groupId >de.akquinet.engineering.vaadin.vaadin
<artifactId >VaadinatorGeneratorWebDriver </arti
<version >0.20- SNAPSHOT </version >
</dependency >
</dependencies >
<!-- cut -->
</plugin >
Das ist sch¨oner als die Klasse zu patchen
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 Test
helpers” Addon
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 Test
helpers” Addon
Erzeugt eine “Component” Klasse pro View (List, Add und
Change)
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
Aufr¨aumen: “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

Vaadinator erweitern

  • 1.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Vaadinator erweitern Daniel Nordhoff-Vergien 2. M¨arz 2016 Daniel Nordhoff-Vergien Vaadinator erweitern
  • 2.
    Vaadinator, was istdas? 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
  • 3.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Vaadinator Code Generator Daniel Nordhoff-Vergien Vaadinator erweitern
  • 4.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Vaadinator Code Generator Erstellt eine MVP Anwendung aus annotierten Java Klassen Daniel Nordhoff-Vergien Vaadinator erweitern
  • 5.
    Vaadinator, was istdas? 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
  • 6.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Vaadinator Beispiel @DisplayBean(captionText = "Adresse ") public class Address { @DisplayProperty private String vorname; @DisplayProperty(profileSettings = { @DisplayPropertySetting(required = true) }) private String nachname; // Mehr Felder // Getter , Setter , etc } Daniel Nordhoff-Vergien Vaadinator erweitern
  • 7.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Das Erzeugt MVP CURD Oberfl¨ache Service- und DAO-Klassen f¨ur EJB und JPA Mapper Klassen f¨ur Fitnesse Daniel Nordhoff-Vergien Vaadinator erweitern
  • 8.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Das Erzeugt MVP CURD Oberfl¨ache Service- und DAO-Klassen f¨ur EJB und JPA Mapper Klassen f¨ur Fitnesse Aber ich brauch noch was... Aber ich will nicht die ca. 500 Zeilen Methode erweitern... Daniel Nordhoff-Vergien Vaadinator erweitern
  • 9.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Java SPI Java SE “Plugin” Mechanismus Klasse implementiert ein Interface Implementierung wird in META-INF/services/full.qualified.interface.name registriert Implementierungen k¨onnen mit java.util.ServiceLoader geladen werden Daniel Nordhoff-Vergien Vaadinator erweitern
  • 10.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Java SPI Java SE “Plugin” Mechanismus Klasse implementiert ein Interface Implementierung wird in META-INF/services/full.qualified.interface.name registriert Implementierungen k¨onnen mit java.util.ServiceLoader geladen werden In unserem Fall: de.akquinet.engineering.vaadinator.generator.CodeGenerator Daniel Nordhoff-Vergien Vaadinator erweitern
  • 11.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Einbinden <plugin > <groupId >de.akquinet.engineering.vaadin.vaadinator <artifactId >VaadinatorGenerator </artifactId > <version >0.20- SNAPSHOT </version > <dependencies > <dependency > <groupId >de.akquinet.engineering.vaadin.vaadin <artifactId >VaadinatorGeneratorWebDriver </arti <version >0.20- SNAPSHOT </version > </dependency > </dependencies > <!-- cut --> </plugin > Daniel Nordhoff-Vergien Vaadinator erweitern
  • 12.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Einbinden <plugin > <groupId >de.akquinet.engineering.vaadin.vaadinator <artifactId >VaadinatorGenerator </artifactId > <version >0.20- SNAPSHOT </version > <dependencies > <dependency > <groupId >de.akquinet.engineering.vaadin.vaadin <artifactId >VaadinatorGeneratorWebDriver </arti <version >0.20- SNAPSHOT </version > </dependency > </dependencies > <!-- cut --> </plugin > Das ist sch¨oner als die Klasse zu patchen Daniel Nordhoff-Vergien Vaadinator erweitern
  • 13.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links WebDriver Page Objects Benutzt Selenium, WebDriver Extensions und “Addon Test helpers” Addon Daniel Nordhoff-Vergien Vaadinator erweitern
  • 14.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links WebDriver Page Objects Benutzt Selenium, WebDriver Extensions und “Addon Test helpers” Addon Erzeugt eine “Component” Klasse pro View (List, Add und Change) Erzeugt eine “Page” Klasse pro DisplayBean Daniel Nordhoff-Vergien Vaadinator erweitern
  • 15.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links WebDriver Test live Daniel Nordhoff-Vergien Vaadinator erweitern
  • 16.
    Vaadinator, was istdas? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Aussicht Aufr¨aumen: “SySo Logging”, JavaDoc, ... “Alten” Generator modularisieren (?) Eure Erweiterungen Daniel Nordhoff-Vergien Vaadinator erweitern
  • 17.
    Vaadinator, was istdas? 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