20
17:00 - 17:30 - Salle La Seine C Arquillian pour des Tests Web simples et efficaces

DevoxxFR 2013 - Arquillian

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: DevoxxFR 2013 - Arquillian

17:00 - 17:30 - Salle La Seine C

Arquillianpour des

Tests Websimples et efficaces

Page 2: DevoxxFR 2013 - Arquillian

27 au 29 mars 2013

Arquillianpour des Tests Web simples et

efficaces

@AlexisHasslerDéveloppeur, formateur indépendant

Page 3: DevoxxFR 2013 - Arquillian

Alexis Hassler

Développeur, formateur Java

Indépendant

Co-leader du

Page 4: DevoxxFR 2013 - Arquillian
Page 5: DevoxxFR 2013 - Arquillian

Tests d'intégration Java EE

Tests de composantspas les classes isolées

pas l'application complète

Page 6: DevoxxFR 2013 - Arquillian

Comment ça marche ?

Page 7: DevoxxFR 2013 - Arquillian

Mettre les

tests dans le conteneur

plutôt que

gérer le conteneur dans les tests

Page 8: DevoxxFR 2013 - Arquillian

Runner JUnitDéploiement du composant

Injection de dépendances

Méthode de test

Page 9: DevoxxFR 2013 - Arquillian

Mock

Page 10: DevoxxFR 2013 - Arquillian

Test Web

Web

Tomcat, Jetty,...

Java EE

JBoss, Glassfish, TomEE ...

Page 11: DevoxxFR 2013 - Arquillian

Mode client @Deployment (testable = false)

public static Archive<?> deploy() {

...

}

@ArquillianResource URL baseUrl;

@Test

public void should_http_requests_get_results() {

...

}

Déploiement SANS les tests

Injection de l'URL du déploiement

HttpUnit, Selenium,...

Page 12: DevoxxFR 2013 - Arquillian

27 au 29 mars 2013

Démonstration

http://github.com/hasalex/arquillian-web-demo

Page 13: DevoxxFR 2013 - Arquillian

Drone

Graphene

Warp

Page 14: DevoxxFR 2013 - Arquillian

Drone

@Drone WebDriver browser;

@ArquillianResource URL baseUrl;

@Test

public void should_http_requests_get_results() {

browser.get(baseUrl);

...

}

Injection Selenium

Page 15: DevoxxFR 2013 - Arquillian

Graphene

element(By.id("button"));

waitAjax().until(element(...).isVisible());

guardXhr(button).click();

Classe utilitaire

Page 16: DevoxxFR 2013 - Arquillian

Graphene

@Page UserPageForGraphene userPage;

Page Object

Page Fragment

Page 17: DevoxxFR 2013 - Arquillian

Warp

Vérifier l'état coté serveur–Servlet, Session,...

–Extensions JSF, REST, Spring MVC

Warp.initiate()

.observe()

.inspect();

Page 18: DevoxxFR 2013 - Arquillian

27 au 29 mars 2013

Démonstration

http://github.com/hasalex/arquillian-web-demo

Page 19: DevoxxFR 2013 - Arquillian

Conclusion

http://arquillian.org

Page 20: DevoxxFR 2013 - Arquillian

L'invasion continue...