Vaadinator erweitern

Post on 14-Apr-2017

152 views 0 download

Transcript of 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

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