Testovanie web aplikácií s CasperJS (WebElement #11)

Testovanie web aplikácií s CasperJS (WebElement #11)

1633975316e340c5f24414567a3f3679?s=128

Vladimír Kriška

September 06, 2012
Tweet

Transcript

  1. CasperJS Vladimír Kriška (@ujovlado) WebElement #11

  2. Čo je CasperJS? Navigation scripting & testing utility CasperJS je

    postavený na PhantomJS - náhrada browsera využívajúca Webkit.
  3. Čo všetko vie? • Browsovať • Vypĺňať formuláre • Klikať

    • Robiť screenshoty • Sťahovať content • Testovať • ...
  4. A ešte • Vykonávať kód na klientskej strane • Pracovať

    s viewportom • ...
  5. Inštalácia • Stiahnúť PhantomJS a CasperJS • Vytvoriť symlinky vlado@pc:~$

    ln -s casper_path/bin/casperjs /usr/local/bin/casperjs vlado@pc:~$ casperjs javascript.js
  6. Command Line Interface casper.cli.has(); casper.cli.get(); Dva prístupy. // pre options

    casper.cli.has("arg"); // casper.cli.get("arg"); // pre args casper.cli.has(0); // casper.cli.get(0);
  7. Selektory // CSS3 casper.test.assertExists('#main', 'existuje'); // XPath casper.test.assertExists({ type: 'xpath',

    path: '//*[@id="main"]' }, 'existuje');
  8. HTTP Status Codes Nezačnem testovať keď nastala chyba. casper.on('http.status.404', function()

    { this.echo('404').exit(); }); casper.start('http://localhost/404', function() { this.echo('vsetko v poriadku'); });
  9. Verbose (debug) mode Chcem vedieť, čo sa deje var casper

    = require('casper').create({ verbose: true, logLevel: "debug" }); // logovanie casper.log('debug message', 'debug');
  10. Eventy casper.on("meno.eventu", function(resource) { // nieco sprav }); • http.status.[code]

    • remote.alert • fill • start, exit • click • ...
  11. Vlastné eventy casper.on("webelement.presentation", function (status) { this.echo("WebElement prednaska " +

    status); }); casper.start("http://localhost/casperjs", function() { var presentationStatus = 'bezi'; this.emit("webelement.presentation", presentationStatus); });
  12. Testovanie Metódy: • assert() • assertEval() • assertExists() • assertNot()

    • ... this.test.assertExists('.form', 'Form existuje');
  13. Príklady ...

  14. Ďakujem vlado@pc:~$ casperjs presentation.js PASS Odprezentovane PASS 1 tests executed,

    1 passed, 0 failed. vlado@pc:~$