Thursday, February 6, 2025

automated testing – Screenshot not discovered error in protractor


I get damaged picture for screenshot. Unable to take screenshot in protractor framework. Please anybody assistance on this.

My code:
testconfig.js file

var fs = require('fs-extra');
var in the present day = new Date(),
    timeStamp = in the present day.getMonth() + 1 + '-' + in the present day.getDate() + '-' + in the present day.getFullYear() + '-' + in the present day.getHours() + 'h-' + in the present day.getMinutes() + 'm';
console.log(timeStamp)

exports.config = {
    directConnect: true,
    // seleniumAddress: 'http://localhost:4444/wd/hub',
    capabilities: {
        'browserName': 'chrome',//firefox
    },

       suites: {
        regression: '../specs/pattern.js',

    },
    allScriptsTimeout: 50000,

    jasmineNodeOpts: {
        onComplete: null,
        isVerbose: false,
        showColors: true,
        includeStackTrace: true,
        defaultTimeoutInterval: 999999,
    },
    framework: 'jasmine2',

    onPrepare: operate () {
        browser.handle().window().maximize();
        browser.waitForAngularEnabled(false);
        // var ChercherTechJasmineReporter = reporter.ChercherTechJasmineReporter;
        // jasmine.getEnv().addReporter(new ChercherTechJasmineReporter({
        //     screenshotOnFail :false,
        //     showSkipped:false,
        //     browser:browser,
        //     showLineChart:true
        // }));
        const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
        jasmine.getEnv().addReporter(new SpecReporter({
            spec: {
                // displayStacktrace: true
                displayStacktrace: false
            }
        }));
        //Getting XML report
        var jasmineReporters = require('jasmine-reporters');
        jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
            consolidateAll: true,
            filePrefix: 'guitest-xmloutput',
            savePath: '.'
        }));

        fs.emptyDir("https://sqa.stackexchange.com/", operate (err) {
            console.log("Error message=",err);
        });

        jasmine.getEnv().addReporter({
            specDone: operate(end result) {
                // if (end result.standing == 'failed') {
                browser.getCapabilities().then(operate (caps) {
                    var browserName = caps.get('browserName');
                    browser.takeScreenshot().then(operate (png) {
                        // var stream = fs.createWriteStream('screenshots/' + browserName + '-' + end result.fullName+ '.png');
                        var stream = fs.createWriteStream('./' + browserName + '-' + end result.fullName+ '.png');
                        // var stream = fs.createWriteStream('./' + '-' + end result.fullName+ '.png');
                        stream.write(new Buffer(png, 'base64'));
                        stream.finish();
                    });
                });
                // }
            }
        });
    },
    // onComplete:operate(exitcode){
    //     reporter.write_consolidated()
    // },
    //
    // afterLaunch:operate(exitcode){
    //     return new Promise(operate(resolve){
    //         reporter.processResults()
    //         return 0
    //     })
    // },
    onComplete: operate() {
        var browserName, browserVersion;
        var capsPromise = browser.getCapabilities();

        capsPromise.then(operate (caps) {
            browserName = caps.get('browserName');
            browserVersion = caps.get('model');
            platform = caps.get('platform');

            var HTMLReport = require('protractor-html-reporter-2');

            testConfig = {
                reportTitle: 'TAP Check Execution Report',
                // outputPath: './new/check/scripts/TestReports',
                outputPath: './',
                outputFilename: 'ProtractorTestReport'+timeStamp,
                screenshotPath: './',
                testBrowser: browserName,
                browserVersion: browserVersion,
                modifiedSuiteName: false,
                screenshotsOnlyOnFailure: false,
                testPlatform: platform
            };
            new HTMLReport().from('guitest-xmloutput.xml', testConfig);
        });
    },

    SELENIUM_PROMISE_MANAGER: true
};

spec-sample.js file

describe('Protractor - takeScreenshot()', operate () {
    it('Code script to make use of takeScreenshot() in protractor', operate () {
        browser.get("https://keeplearners.blogspot.com/2018/03/Angular-elements.html");
        var textField = ingredient(by.mannequin('identify'));
        textField.sendKeys("Entered pattern textual content")      
    });
} )

output:

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles

PHP Code Snippets Powered By : XYZScripts.com