Cross Browser Testing mit DalekJS

Post on 06-Jul-2015

181 views 0 download

Tags:

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 ; ]

transcript

DALEKJS

EXTERMINATE ALL BUGS!

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

DALEKJS?

„BROWSER FERNSTEUERUNG“Aktionen

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

PrüfenResultat ←→ Erwartung

INSTALLATIONLINUX, MAC, WINDOWS – NODE.JS ✌

Siehe Getting started

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

ACTIONSDIE STEUERUNG DES BROWSERS

Komplette Liste → .Dokumentation

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');

ASSERTIONSÜBERPRÜFUNG UNSERER ERWARTUNGEN

Komplette Liste → .Dokumentation

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')

DER ERSTE TEST

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

DEMO

TESTS ZUMNACHSPIELEN

CROSS-BROWSER-TESTS

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

# Executedalek tests/firstTests.js -b chrome

IE TESTING

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

ALTERNATIVE REPORTSGELÖST ÜBER DALEKJS PLUGINS

HTML, JSON, jUnit XMLSiehe Docs

FAZIT

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

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

EXTERMINATED!

FRAGEN?