Vaadinator erweitern

17

Click here to load reader

Transcript of Vaadinator erweitern

Page 1: Vaadinator erweitern

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

Page 2: 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

Page 3: 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

Page 4: 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

Page 5: 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

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: 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

Page 11: 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

Page 12: 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

Page 13: 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

Page 14: 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

Page 15: Vaadinator erweitern

Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links

WebDriver Test live

Daniel Nordhoff-Vergien

Vaadinator erweitern

Page 16: 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

Page 17: 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