mcfly-io / generator-mcfly

A Yeoman generator for scaffolding an application using angular, browserify, ionic and famous

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add a browser.shot method in protractor

thaiat opened this issue · comments

in protractor.conf.js

var fs = require('fs');
var path = require('path');
var _ = require('lodash');
var destScreenShots = './reports/screenshots';
        browser.shot = function(filename) {
            filename = _.kebabCase(filename);
            browser.takeScreenshot().then(function(png) {
                var file = path.resolve(destScreenShots + '/' + filename + '.png');
                fs.writeFileSync(file, png, {
                    encoding: 'base64'
                });
            });
        };

this method can be used in a test suite to save specific screenshots:

it('something', function() {
   var prefixScreenshot = suitename + 'Campagne test';
   expect(mainView.charts().count()).toBe(4);
   expect(mainView.getChartTitle(mainView.charts().get(0))).toBe('TESTING');

   // take screenshot
   browser.shot(prefixScreenshot + ' screenshot1');  

  // continue                           
});