Skip to content
Snippets Groups Projects
protractor.conf.js 2.45 KiB
Newer Older
JiggyJinjo's avatar
JiggyJinjo committed
const HtmlReporter = require('protractor-beautiful-reporter');
const {SpecReporter} = require('jasmine-spec-reporter');
JiggyJinjo's avatar
JiggyJinjo committed
const path = require('path');
JiggyJinjo's avatar
JiggyJinjo committed

exports.config = {
    allScriptsTimeout: 11000,
JiggyJinjo's avatar
JiggyJinjo committed
    seleniumAddress: 'http://localhost:4444/wd/hub',

    // The port to start the selenium server on, or null if the server should
    // find its own unused port.
    seleniumPort: null,
    seleniumArgs: [],

    specs: [
JiggyJinjo's avatar
JiggyJinjo committed
        './specs/*.spec.js',
JiggyJinjo's avatar
JiggyJinjo committed
    ],

    capabilities: {
        browserName: 'chrome',
        chromeOptions: {
JiggyJinjo's avatar
JiggyJinjo committed
            args: ['--window-size=1910,1080'],
        },
JiggyJinjo's avatar
JiggyJinjo committed
    },

    // A base URL for your application under test. Calls to protractor.get()
    // with relative paths will be prepended with this.
    baseUrl: 'http://localhost:9999',
    directConnect: true,
JiggyJinjo's avatar
JiggyJinjo committed

    framework: 'jasmine',

JiggyJinjo's avatar
JiggyJinjo committed
    onPrepare: function() {
JiggyJinjo's avatar
JiggyJinjo committed
        // Add a screenshot reporter:
        jasmine.getEnv().addReporter(new HtmlReporter({
            preserveDirectory: false,
            takeScreenShotsOnlyForFailedSpecs: true,
            screenshotsSubfolder: 'images',
            jsonsSubfolder: 'jsons',
            baseDirectory: 'reports-tmp',
            clientDefaults: {
                columnSettings: {
JiggyJinjo's avatar
JiggyJinjo committed
                    displaySessionId: false,
                },
JiggyJinjo's avatar
JiggyJinjo committed
            },
            pathBuilder: function pathBuilder(spec, descriptions, results, capabilities) {
                // Return '<30-12-2016>/<browser>/<specname>' as path for screenshots:
                // Example: '30-12-2016/firefox/list-should work'.
JiggyJinjo's avatar
JiggyJinjo committed
                const currentDate = new Date();
                const day = currentDate.getDate();
                const month = currentDate.getMonth() + 1;
                const year = currentDate.getFullYear();
JiggyJinjo's avatar
JiggyJinjo committed
                const validDescriptions = descriptions.map(function(description) {
JiggyJinjo's avatar
JiggyJinjo committed
                    return description.replace('/', '@');
                });

                return path.join(
JiggyJinjo's avatar
JiggyJinjo committed
                    day + '-' + month + '-' + year,
JiggyJinjo's avatar
JiggyJinjo committed
                    // capabilities.get('browserName'),
                    validDescriptions.join('-'));
JiggyJinjo's avatar
JiggyJinjo committed
            },
JiggyJinjo's avatar
JiggyJinjo committed
        }).getJasmine2Reporter());
    },

    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        print: function() {}
    },
    onPrepare: function() {
        jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
JiggyJinjo's avatar
JiggyJinjo committed
    },
};