Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SpecReporter is not a constructor error when running protractor using angular-cli

When I try to run ng e2e or direct protractor command I get this error :

[14:39:00] I/update - chromedriver: chromedriver_2.28 up to date
[14:39:04] I/launcher - Running 1 instances of WebDriver
[14:39:04] I/direct - Using ChromeDriver directly...
[14:39:44] E/launcher - Error: TypeError: SpecReporter is not a constructor
    at onPrepare (/home/younes/repo/cip_front/protractor.conf.js:30:34)
    at q_1.Promise (/home/younes/repo/cip_front/node_modules/protractor/lib/util.ts:48:39)
    at Function.promise (/home/younes/repo/cip_front/node_modules/q/q.js:682:9)
    at Object.runFilenameOrFn_ (/home/younes/repo/cip_front/node_modules/protractor/lib/util.ts:39:10)
    at plugins_.onPrepare.then (/home/younes/repo/cip_front/node_modules/protractor/lib/runner.ts:103:21)
    at _fulfilled (/home/younes/repo/cip_front/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/home/younes/repo/cip_front/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/home/younes/repo/cip_front/node_modules/q/q.js:796:13)
    at /home/younes/repo/cip_front/node_modules/q/q.js:556:49
    at runSingle (/home/younes/repo/cip_front/node_modules/q/q.js:137:13)
    at flush (/home/younes/repo/cip_front/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[14:39:44] E/launcher - Process exited with error code 100
like image 555
amine amine Avatar asked Mar 24 '17 13:03

amine amine


2 Answers

this is because of a breaking change in Jasmine. Change your protractor config file to have:

var SpecReporter = require('jasmine-spec-reporter').SpecReporter;

instead of:

var SpecReporter = require('jasmine-spec-reporter');
like image 92
amine amine Avatar answered Nov 15 '22 12:11

amine amine


You need to do like this following:

const SpecReporter = require('jasmine-spec-reporter').SpecReporter;

jasmine.getEnv().addReporter(new SpecReporter());
like image 29
Adnan Ghaffar Avatar answered Nov 15 '22 10:11

Adnan Ghaffar