SlideShare ist ein Scribd-Unternehmen logo
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

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
The state of JavaScript Linting - English version
PDF
The state of JavaScript Linting - Deutsche Version
PDF
jQuery .data() und HTML5 data Attribute
PDF
iOS Apps mit Webtechnologien erstellen
KEY
Frontend Coding Guidelines - Ein Baustein zur Qualitätssicherung
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
2024 Trend Updates: What Really Works In SEO & Content Marketing
The state of JavaScript Linting - English version
The state of JavaScript Linting - Deutsche Version
jQuery .data() und HTML5 data Attribute
iOS Apps mit Webtechnologien erstellen
Frontend Coding Guidelines - Ein Baustein zur Qualitätssicherung
Anzeige

Cross Browser Testing mit DalekJS