SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
DALEKJS 
EXTERMINATE ALL BUGS!
MICHAEL KÜHNEL 
macht Internet seit Netscape 4.7 
Frontend Developer bei Micromata 
Twitter: @mkuehnel 
Web: michael-kuehnel.de
DALEKJS?
„BROWSER FERNSTEUERUNG“ 
Aktionen 
URLs aufrufen, Elemente anklicken, Formularfelder füllen, 
Screenshots erstellen 
Prüfen 
Resultat ←→ Erwartung
INSTALLATION 
LINUX, MAC, WINDOWS – NODE.JS ✌ 
Siehe Getting started
DIE API 
test.open('http://foo.baz') 
.click('.bar') 
.waitForElement('#baz') 
.assert.title().is('fooBar', 'Yeah') 
.done();
ACTIONS 
DIE 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 
.exists() 
Prüft das Vorhandensein eines DOM-Elementes. 
.assert.exists('#Logout', 'Logout Button ist vorhanden') 
.text() 
Prüft den Textinhalt eines Elementes. 
.assert.text('h1', 'Erwartete Headline', 'Headline ist korrekt') 
.val() 
Prüft den Value eines Formular-Elementes. 
.assert.val('#mySelect', '', 'Default Value ist korrekt')
DER ERSTE TEST
LOGIN STATUS 
module.exports = { 
'Check Login status': function (test) { 
test 
.open('https://github.com/') 
.waitForElement('.header') 
.assert.exists('.header-logged-out', 'User ist ausgeloggt') 
.done(); 
} 
};
DEMO
TESTS ZUM 
NACHSPIELEN
CROSS-BROWSER-TESTS
GELÖST ÜBER DALEKJS PLUGINS 
# Install 
npm install dalek-browser-chrome --save-dev 
# Execute 
dalek tests/firstTests.js -b chrome
IE TESTING
REMOTE TEST EXECUTION #FTW ❤ 
VMs → Download 
Setup → Screencast 
Broken → Aber im nächsten Bugfix Release behoben
ALTERNATIVE REPORTS 
GELÖST ÜBER DALEKJS PLUGINS 
HTML, JSON, jUnit XML 
Siehe Docs
FAZIT
1. Frühe Version – Trotzdem Spass 
2. Super einfach Test zu schreiben 
3. Alternative: CasperJS
LINKS 
http://webkrauts.de/artikel/2014/cross-browser-testing-mit-dalekjs 
http://dalekjs.com 
https://github.com/dalekjs 
https://github.com/mischah/dalekjs-demo 
https://github.com/micromata/dalekjs-testsuite
EXTERMINATED! 
FRAGEN?

Weitere ähnliche Inhalte

Ähnlich wie Cross Browser Testing mit DalekJS

Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenMartin Leyrer
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungenmolily
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionMartin Leyrer
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit RustJens Siebert
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus gedoplan
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidBjörn Wibben
 

Ähnlich wie Cross Browser Testing mit DalekJS (8)

Effiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 AnwendungenEffiziente Fehlersuche in Web 2.0 Anwendungen
Effiziente Fehlersuche in Web 2.0 Anwendungen
 
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen AnwendungenJavaScript: Von einfachen Scripten zu komplexen Anwendungen
JavaScript: Von einfachen Scripten zu komplexen Anwendungen
 
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz EditionEffiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
Effiziente Fehlersuche In Web 2.0 Anwendungen - Graz Edition
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
 
Mit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & AndroidMit jQTouch auf's iPhone & Android
Mit jQTouch auf's iPhone & Android
 
node.js
node.jsnode.js
node.js
 

Cross Browser Testing mit DalekJS