swissmanu / protractor-screenshot-reporter

Reporter for Protractor. Asks Selenium for a screenshot after every test case and stores it along with test case details.
https://github.com/swissmanu/protractor-screenshot-reporter
MIT License
65 stars 21 forks source link

Runtime error #12

Closed nealmadlani closed 10 years ago

nealmadlani commented 10 years ago

UPDATE - PLEASE IGNORE: The issue was attributed to something else.

Thanks for the great plugin, it was working great until a few days ago. Wonder if you can help me debug this issue:

On running my protractor tests with screenshot-reporter I get the following: UnknownError: org.openqa.selenium.htmlunit.HtmlUnitDriver cannot be cast to org.openqa.selenium.TakesScreenshot Runner Process Exited With Error Code: 1

Has anyone experienced this?

My conf file:

var extend = require('extend');
var tunnelId = require('./unique-id');
var ScreenShotReporter = require('protractor-screenshot-reporter');

var sauceCredentials = {
    username:  process.env.SAUCE_USERNAME,
    accessKey: process.env.SAUCE_ACCESS_KEY
};

// TODO: make it more configurable
var browserEnv = {
    // Ideally would run on OS X to simulate editorial machines, but
    // the OS X vms seem a lot less reliable, so falling back to
    // Windows for the moment.
    // platform: 'OS X 10.6',
    platform: 'Windows 8',
    browserName: 'chrome',
    version: '32'
};

var seleniumAddress;
var capabilities = {
    'tunnel-identifier': tunnelId,
    shardTestFiles: true,
    maxInstances: 10
};
var extraConfig = {};
var extraJasmineOpts = {};

var useSauceLabs = !! process.env.RUN_IN_SAUCE_LABS;
if (useSauceLabs) {
    // SauceConnect port (it must be running!)
    seleniumAddress = 'http://localhost:4445/wd/hub';
    capabilities = extend({}, capabilities, sauceCredentials, browserEnv);
} else {
    // Default Selenium WebDriver port
    seleniumAddress = 'http://localhost:4444/wd/hub';
}

var onTeamCity = !! process.env.RUN_IN_TEAMCITY;
if (onTeamCity) {
    extraConfig = {
        onPrepare: function () {
            require('jasmine-reporters');
            jasmine.getEnv().addReporter(new jasmine.TeamcityReporter());
        }
    };
    extraJasmineOpts = {
        isVerbose: true
    };
}

exports.config = extend({
    onPrepare: function() {
        jasmine.getEnv().addReporter(new ScreenShotReporter({
            baseDirectory: '../../../fail-screenshots'
        }));
    },
    seleniumAddress: seleniumAddress,
    capabilities: capabilities,
    specs: ['specs/*test.js'],
    allScriptsTimeout: 40000000,
    jasmineNodeOpts: extend({
        defaultTimeoutInterval: 4000000
    }, extraJasmineOpts)
}, extraConfig);
swissmanu commented 10 years ago

glad you could fix your problem :)