webelement #11 - casperjs

14

Click here to load reader

Upload: ujovlado

Post on 27-Jan-2015

107 views

Category:

Technology


0 download

DESCRIPTION

http://www.webelement.sk/event/webelement-11-testovanie-web-aplikacii-s-casperjs

TRANSCRIPT

Page 1: WebElement #11 - CasperJS

CasperJS

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

Page 2: WebElement #11 - CasperJS

Čo je CasperJS?

Navigation scripting & testing utility

CasperJS je postavený na PhantomJS - náhrada browsera využívajúca Webkit.

Page 3: WebElement #11 - CasperJS

Čo všetko vie?

● Browsovať● Vypĺňať formuláre● Klikať● Robiť screenshoty● Sťahovať content● Testovať● ...

Page 4: WebElement #11 - CasperJS

A ešte

● Vykonávať kód na klientskej strane● Pracovať s viewportom● ...

Page 5: WebElement #11 - CasperJS

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

Page 6: WebElement #11 - CasperJS

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

Page 7: WebElement #11 - CasperJS

Selektory

// CSS3

casper.test.assertExists('#main', 'existuje');

// XPath

casper.test.assertExists({

type: 'xpath',

path: '//*[@id="main"]'

}, 'existuje');

Page 8: WebElement #11 - CasperJS

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');

});

Page 9: WebElement #11 - CasperJS

Verbose (debug) mode

Chcem vedieť, čo sa deje

var casper = require('casper').create({

verbose: true,

logLevel: "debug"

});

// logovanie

casper.log('debug message', 'debug');

Page 10: WebElement #11 - CasperJS

Eventy

casper.on("meno.eventu", function(resource) {

// nieco sprav

});

● http.status.[code]● remote.alert● fill● start, exit● click● ...

Page 11: WebElement #11 - CasperJS

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

});

Page 12: WebElement #11 - CasperJS

Testovanie

Metódy:● assert()● assertEval()● assertExists()● assertNot()● ...

this.test.assertExists('.form', 'Form existuje');

Page 13: WebElement #11 - CasperJS

Príklady

...

Page 14: WebElement #11 - CasperJS

Ďakujem

vlado@pc:~$ casperjs presentation.js

PASS Odprezentovane

PASS 1 tests executed, 1 passed, 0 failed.

vlado@pc:~$