Cross Browser Testing mit DalekJS
-
Upload
michael-kuehnel -
Category
Technology
-
view
180 -
download
0
description
Transcript of Cross Browser Testing mit DalekJS
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?