SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Vaadinator erweitern

Web-GUIs mit Vaadin
 Web-GUIs mit Vaadin Web-GUIs mit Vaadin
Web-GUIs mit Vaadingedoplan
 
Swagger - Rest APIs im Griff
Swagger - Rest APIs im GriffSwagger - Rest APIs im Griff
Swagger - Rest APIs im Griffgedoplan
 
SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?René Winkelmeyer
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenQAware GmbH
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UIgedoplan
 
Jax07 - Mixing Ajax Swing and Flash
Jax07 - Mixing Ajax Swing and FlashJax07 - Mixing Ajax Swing and Flash
Jax07 - Mixing Ajax Swing and Flashpersillie
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleichgedoplan
 
Scala - wo macht der Einsatz Sinn?
Scala - wo macht der Einsatz Sinn?Scala - wo macht der Einsatz Sinn?
Scala - wo macht der Einsatz Sinn?Mario Siegenthaler
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Servergedoplan
 
Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Ralf Eggert
 
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...OSGiUsers
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformPatric Dahse
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsPatric Dahse
 
Webbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriverWebbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriverAndi Albrecht
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...kaftanenko
 

Ähnlich wie Vaadinator erweitern (20)

Web-GUIs mit Vaadin
 Web-GUIs mit Vaadin Web-GUIs mit Vaadin
Web-GUIs mit Vaadin
 
Web 2.0 revisited
Web 2.0 revisitedWeb 2.0 revisited
Web 2.0 revisited
 
Swagger - Rest APIs im Griff
Swagger - Rest APIs im GriffSwagger - Rest APIs im Griff
Swagger - Rest APIs im Griff
 
Heisec 2008 web 2.0
Heisec 2008 web 2.0Heisec 2008 web 2.0
Heisec 2008 web 2.0
 
SignalR
SignalRSignalR
SignalR
 
SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?SNoUG 2015 - Vaadin - XPages 2.0?
SNoUG 2015 - Vaadin - XPages 2.0?
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Von Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 MinutenVon Maven zu Gradle in 45 Minuten
Von Maven zu Gradle in 45 Minuten
 
Enterprise UI
Enterprise UIEnterprise UI
Enterprise UI
 
Jax07 - Mixing Ajax Swing and Flash
Jax07 - Mixing Ajax Swing and FlashJax07 - Mixing Ajax Swing and Flash
Jax07 - Mixing Ajax Swing and Flash
 
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im VergleichWie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
Wie viel Client braucht das Web?JSF, Vaadin und AngularJS im Vergleich
 
Scala - wo macht der Einsatz Sinn?
Scala - wo macht der Einsatz Sinn?Scala - wo macht der Einsatz Sinn?
Scala - wo macht der Einsatz Sinn?
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3Middleware Anwendungen mit dem Zend Framework 3
Middleware Anwendungen mit dem Zend Framework 3
 
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
Vorstellung des Riena Patform Framework am Beispiel einer OSGi-ServerAdminist...
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
 
Net@night asp.net mvc
Net@night asp.net mvcNet@night asp.net mvc
Net@night asp.net mvc
 
Webcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing ToolsWebcast SAP Cloud Platform 2 - Developing Tools
Webcast SAP Cloud Platform 2 - Developing Tools
 
Webbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriverWebbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriver
 
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
Einführung in die Java-Webentwicklung - Part II - [3 of 3] - Java Server Face...
 

Vaadinator erweitern

  • 1. 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
  • 2. 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
  • 3. Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links Vaadinator Code Generator Daniel Nordhoff-Vergien Vaadinator erweitern
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. Vaadinator, was ist das? 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 ist das? 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 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. Vaadinator, was ist das? Erweitern WebDriver Erweiterung WebDriver Erweiterung live Aussicht Links WebDriver Test live Daniel Nordhoff-Vergien Vaadinator erweitern
  • 16. 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
  • 17. 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