0
votes

Everytime I'm triggering protractor.conf.js file to run my protractor-cucumber framework. I'm getting below Type-error.

[01:53:16] E/launcher - Error: TypeError: cucumber_1.Given is not a function
    at Object.<anonymous> (C:\Users\akundu\Documents\Protractor\Program_2\src\steps\stepsDefinition.ts:9:5)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Module.require (internal/modules/cjs/loader.js:1026:19)
    at require (internal/modules/cjs/helpers.js:72:18)
    at C:\Users\akundu\Documents\Protractor\Program_2\node_modules\cucumber\lib\cucumber\cli\support_code_loader.js:63:29
    at Array.forEach (<anonymous>)
    at Object.wrapper (C:\Users\akundu\Documents\Protractor\Program_2\node_modules\cucumber\lib\cucumber\cli\support_code_loader.js:62:15) 

I've installed all necessary dependencies and able to import to stepsDefinition.ts file. Please have a look

    "@types/cucumber": "^6.0.1",
    "chai": "^4.2.0",
    "chai-as-promised": "^7.1.1",
    "cucumber": "^1.3.3",
    "cucumber-html-reporter": "^5.2.0",
    "protractor": "^7.0.0",
    "protractor-cucumber-framework": "^6.2.0",
    "ts-node": "^8.10.2",
    "typescript": "^3.9.5"
  },
  "dependencies": {
    "@types/node": "^14.0.13",
    "cucumberjs-allure2-reporter": "^1.3.0",
    "jasmine-allure-reporter": "^1.0.2",
    "mail-listener2": "^0.3.1",
    "nodemailer": "^6.4.4",
    "protractor-html-reporter-2": "^1.0.4",
    "protractor-multiple-cucumber-html-reporter-plugin": "^1.8.1"
  }

Here is my step file's snippet.

import { Given, Then, When } from "cucumber";
import { HomePage } from '../pages/HomePage';

//defineSupportCode(({Given, When, Then}) => {

    var homePage= new HomePage();
    
    Given(/^User launches site$/, async() => {
        await homePage.openBrowser('http://juliemr.github.io/protractor-demo/');
    });

I'm learning Protractor, while doing my handson through java script, it was working perfectly, after migrating to type script, it started having issue

1

1 Answers

0
votes

If you have a cumcumber.js file configuration in your project's root folder you are probably facing the problem solved here