23
DALEKJS EXTERMINATE ALL BUGS!

Cross Browser Testing mit DalekJS

Embed Size (px)

DESCRIPTION

Slides zur Session zum Thema »Cross Browser Testing mit DalekJS« vom 6. Webmontag Kassel. Eine »interaktive« Version der Slides findet ihr hier: http://michael-kuehnel.de/presentations/dalekjs/ Inklusive animierter GIFs ; ]

Citation preview

Page 1: Cross Browser Testing mit DalekJS

DALEKJS

EXTERMINATE ALL BUGS!

Page 2: Cross Browser Testing mit DalekJS

MICHAEL KÜHNELmacht Internet seit Netscape 4.7Frontend Developer bei MicromataTwitter: @mkuehnelWeb: michael-kuehnel.de

Page 3: Cross Browser Testing mit DalekJS

DALEKJS?

Page 4: Cross Browser Testing mit DalekJS

„BROWSER FERNSTEUERUNG“Aktionen

URLs aufrufen, Elemente anklicken, Formularfelder füllen,Screenshots erstellen

PrüfenResultat ←→ Erwartung

Page 5: Cross Browser Testing mit DalekJS

INSTALLATIONLINUX, MAC, WINDOWS – NODE.JS ✌

Siehe Getting started

Page 6: Cross Browser Testing mit DalekJS

DIE APItest.open('http://foo.baz') .click('.bar') .waitForElement('#baz') .assert.title().is('fooBar', 'Yeah') .done();

Page 7: Cross Browser Testing mit DalekJS

ACTIONSDIE STEUERUNG DES BROWSERS

Komplette Liste → .Dokumentation

Page 8: Cross Browser Testing mit DalekJS

ACTIONS.open().open('http://dalekjs.com')

.click().click('#logout')

.type().type('#MyElement', 'Mein Text')

.waitForElement().waitForElement('#result')

.screenshot()test.screenshot('my/folder/my_file.png');

Page 9: Cross Browser Testing mit DalekJS

ASSERTIONSÜBERPRÜFUNG UNSERER ERWARTUNGEN

Komplette Liste → .Dokumentation

Page 10: Cross Browser Testing mit DalekJS

ASSERTIONS

Prüft das Vorhandensein eines DOM-Elementes..exists()

.assert.exists('#Logout', 'Logout Button ist vorhanden')

Prüft den Textinhalt eines Elementes..text()

.assert.text('h1', 'Erwartete Headline', 'Headline ist korrekt')

Prüft den Value eines Formular-Elementes..val()

.assert.val('#mySelect', '', 'Default Value ist korrekt')

Page 11: Cross Browser Testing mit DalekJS

DER ERSTE TEST

Page 12: Cross Browser Testing mit DalekJS

LOGIN STATUSmodule.exports = { 'Check Login status': function (test) { test .open('https://github.com/') .waitForElement('.header') .assert.exists('.header-logged-out', 'User ist ausgeloggt') .done(); }};

Page 13: Cross Browser Testing mit DalekJS

DEMO

Page 14: Cross Browser Testing mit DalekJS

TESTS ZUMNACHSPIELEN

Page 15: Cross Browser Testing mit DalekJS

CROSS-BROWSER-TESTS

Page 16: Cross Browser Testing mit DalekJS

GELÖST ÜBER DALEKJS PLUGINS# Installnpm install dalek-browser-chrome --save-dev

# Executedalek tests/firstTests.js -b chrome

Page 17: Cross Browser Testing mit DalekJS

IE TESTING

Page 18: Cross Browser Testing mit DalekJS

REMOTE TEST EXECUTION #FTW ❤VMs → DownloadSetup → ScreencastBroken → Aber im nächsten Bugfix Release behoben

Page 19: Cross Browser Testing mit DalekJS

ALTERNATIVE REPORTSGELÖST ÜBER DALEKJS PLUGINS

HTML, JSON, jUnit XMLSiehe Docs

Page 20: Cross Browser Testing mit DalekJS

FAZIT

Page 21: Cross Browser Testing mit DalekJS

1. Frühe Version – Trotzdem Spass2. Super einfach Test zu schreiben3. Alternative: CasperJS

Page 22: Cross Browser Testing mit DalekJS

LINKShttp://webkrauts.de/artikel/2014/cross-browser-testing-mit-dalekjshttp://dalekjs.comhttps://github.com/dalekjshttps://github.com/mischah/dalekjs-demohttps://github.com/micromata/dalekjs-testsuite

Page 23: Cross Browser Testing mit DalekJS

EXTERMINATED!

FRAGEN?