DALEKJS 
EXTERMINATE ALL BUGS!
MICHAEL KÜHNEL 
macht Internet seit Netscape 4.7 
Frontend Developer bei Micromata 
Twitter: @mkuehnel 
Web: michael-kuehn...
DALEKJS?
„BROWSER FERNSTEUERUNG“ 
Aktionen 
URLs aufrufen, Elemente anklicken, Formularfelder füllen, 
Screenshots erstellen 
Prüfe...
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') 
.wa...
ASSERTIONS 
ÜBERPRÜFUNG UNSERER ERWARTUNGEN 
Komplette Liste → Dokumentation.
ASSERTIONS 
.exists() 
Prüft das Vorhandensein eines DOM-Elementes. 
.assert.exists('#Logout', 'Logout Button ist vorhande...
DER ERSTE TEST
LOGIN STATUS 
module.exports = { 
'Check Login status': function (test) { 
test 
.open('https://github.com/') 
.waitForEle...
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 ...
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 ...
EXTERMINATED! 
FRAGEN?
Nächste SlideShare
Wird geladen in …5
×

Cross Browser Testing mit DalekJS

541 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
541
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
19
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Cross Browser Testing mit DalekJS

  1. 1. DALEKJS EXTERMINATE ALL BUGS!
  2. 2. MICHAEL KÜHNEL macht Internet seit Netscape 4.7 Frontend Developer bei Micromata Twitter: @mkuehnel Web: michael-kuehnel.de
  3. 3. DALEKJS?
  4. 4. „BROWSER FERNSTEUERUNG“ Aktionen URLs aufrufen, Elemente anklicken, Formularfelder füllen, Screenshots erstellen Prüfen Resultat ←→ Erwartung
  5. 5. INSTALLATION LINUX, MAC, WINDOWS – NODE.JS ✌ Siehe Getting started
  6. 6. DIE API test.open('http://foo.baz') .click('.bar') .waitForElement('#baz') .assert.title().is('fooBar', 'Yeah') .done();
  7. 7. ACTIONS DIE STEUERUNG DES BROWSERS Komplette Liste → Dokumentation.
  8. 8. 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');
  9. 9. ASSERTIONS ÜBERPRÜFUNG UNSERER ERWARTUNGEN Komplette Liste → Dokumentation.
  10. 10. 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')
  11. 11. DER ERSTE TEST
  12. 12. 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(); } };
  13. 13. DEMO
  14. 14. TESTS ZUM NACHSPIELEN
  15. 15. CROSS-BROWSER-TESTS
  16. 16. GELÖST ÜBER DALEKJS PLUGINS # Install npm install dalek-browser-chrome --save-dev # Execute dalek tests/firstTests.js -b chrome
  17. 17. IE TESTING
  18. 18. REMOTE TEST EXECUTION #FTW ❤ VMs → Download Setup → Screencast Broken → Aber im nächsten Bugfix Release behoben
  19. 19. ALTERNATIVE REPORTS GELÖST ÜBER DALEKJS PLUGINS HTML, JSON, jUnit XML Siehe Docs
  20. 20. FAZIT
  21. 21. 1. Frühe Version – Trotzdem Spass 2. Super einfach Test zu schreiben 3. Alternative: CasperJS
  22. 22. 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
  23. 23. EXTERMINATED! FRAGEN?

×