dalekjs / dalek

[unmaintained] DalekJS Base framework
MIT License
695 stars 63 forks source link

dalek callback or custom functions #154

Open dezhavi opened 9 years ago

dezhavi commented 9 years ago

I'm using dalek. I want use custom function after the creation of an screenshot. Example:

var fs = require('fs'); module.exports = { 'Amazon does its thing': function (test) { test'open'; test.type('#text', "xddfg") .screenshot(':date/homepage.png', function(data){console.log(data);}) .done(); } }; How i can careate custom function? Now when i write code after done() this code performed at example:

 var fs = require('fs');
module.exports = {
    'Amazon does its thing': function (test) {
        test['open']('http://ya.ru/');
        test.type('#text', "xddfg")
        .screenshot(':date/homepage.png')
        .done(); 

console.log(11111111111); } };

Running tests Running Browser: PhantomJS 11111111111 OS: windows 7 32bit Browser Version: 1.9.8

RUNNING TEST - "Amazon does its thing"

OPEN http://ya.ru/ TYPE #text SCREENSHOT 2015-03-25/homepage.png

  • 0 Assertions run
  • TEST - "Amazon does its thing" SUCCEEDED

0/0 assertions passed. Elapsed Time: 3.4 sec How i can create callback function?

Thanks!

asciidisco commented 9 years ago

There is no API for that yet, but you can use a little trick:

You can add the log.message method after the screenshot function:

var fs = require('fs');
module.exports = {
    'Amazon does its thing': function (test) {
        test['open']('http://ya.ru/');
        test.type('#text', "xddfg")
        .screenshot(':date/homepage.png') 
        .log.message(function () {
           // Node context, do some nifty fs stuff here
           return 'done'
        })
        .done();