Configuring protractor with cucumber in Intellij - intellij-idea

I am trying to configure Protractor with Cucumber in Intellij But I have an error when I run the test with the current configuration.
run configuration
I am receiving the error bellow
Testing started at 18:30 ...
/usr/local/bin/node /Users/marianojover/IdeaProjects/AutomationTest_PRO/node_modules/cucumber/bin/cucumber /Users/marianojover/IdeaProjects/AutomationTest_PRO/features/test.feature --format "../../../Library/Application Support/IntelliJIdea2018.1/CucumberJavaScript/lib/cucumberjs_formatter_v2.js" --format-options "{\"cucumberLibPath\": \"/Users/marianojover/IdeaProjects/AutomationTest_PRO/node_modules/cucumber/lib\"}" --require /Users/marianojover/IdeaProjects/AutomationTest_PRO/features
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module '/Users/marianojover/IdeaProjects/AutomationTest_PRO/node_modules/cucumber/bin/cucumber'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:236:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:560:3)
Process finished with exit code 1
The error is not giving information that I can consider useful in order to solve the problem.

Running Cucumber.js 4.x is not currently supported, please follow WEB-33787 for updates

Please make sure you have cucumber added to the node_modules folder which is in your project directory. I hope it is there by looking at the paths in your run configuration.
You can also add cucumber cli path to "Cucumber.js arguments" in your run configuration. The path to add is ./node_modules/.bin/cucumber-js (should be modified based on your directory structure). Please see https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md
If the above does not work then you can also use node.js runner to run your protractor test. Just add a new run configuration and add node.js and then add the parameters in configuration tab of the runner, some are given below -
Working Directory -> This will be the path to your project.
Javascript File -> node_modules\protractor\built\cli.js
Application Paramters -> --specs=<path to your feature file><space><path to your protractor.conf.js>

Related

Opening Cypress gives an error in not finding resource.pak

I'm trying to add End to End testing to my application through Cypress, however I've run into the issue that, after installing cypress through "npm install cypress" the command listed in their documentation "npx cypress open" will not work. It gives the following error.
`[35608:0112/105037.652:ERROR:resource_bundle.cc(991)] Failed to load C:\Users\User\AppData\Local\Cypress\Cache\12.3.0\Cypress\resources.pak
Some features may not be available.
Error: Cannot find module 'socket.io-client/dist/socket.io.js'
Require stack:
C:\Users\User\AppData\Local\Cypress\Cache\12.3.0\Cypress\resources\app\packages\socket\index.js`
What I've tried is a fresh reinstall of cypress, specifically adding socket.io and socket.io-client globally. I've also looked into the file path of resource.pak and have confirmed the folder is there.
Same issue here. Downgraded to 12.1.x to make it work again.

Meteor application not deploying, Errors prevented startup

I cloned the rocket chat repo on GitHub and ran meteor npm install && meteor, it wasn't able to deploy the app and got stuck, so I exited and tried meteor but it throws the same error:
Errors prevented startup:
While loading plugin `Livechat` from package `rocketchat:livechat`:
child_process.js:635:11: Command failed: C:\web dev\RocketChat\Rocket.Chat\packages\rocketchat-livechat\plugin/build.bat
'C:\web' is not recognized as an internal or external command,
operable program or batch file.
at checkExecSyncError (child_process.js:635:11)
at execSync (child_process.js:671:15)
at module (packages/Livechat/plugin/build-livechat.js:20:2)
at fileEvaluate (packages/modules-runtime.js:336:7)
at Module.require (packages/modules-runtime.js:238:14)
at require (packages/modules-runtime.js:258:21)
at <runJavaScript-36>:94:1
at <runJavaScript-36>:99:3
Your application has errors. Waiting for file change.
Started MongoDB.
And gets stuck there.
The issue here is with the space in the name of your web deb folder. This should probably be compensated for in the package code, but since it isn't the easiest solution would be to rename your folder to not have a space in the name and then maybe file a issue in the appropriate repo.

How to avoid build failure from ESLint violations with react-scripts/create-react-app?

I created a fresh project using CRA, and then added a custom eslint config with a single rule, no-console, and set it to error log level.
When running yarn start to do development, and putting in a console log, the whole build fails and I get a generic error page saying the build failed because there was a console log. But, I put the log there to debug the app, and this isn't a production build.
I also tried seeing if this could be related to custom eslint configs so I violated the rule-of-hooks rule that is default with CRA and saw the same thing happen.
How can I develop with a linting error present?

Debug Configuration in WebStorm for CucumberJS and TestCafe based project

I am trying to set up WebStorm for one of the TestCafe project integrated with CucumberJS (Link: https://github.com/rquellh/testcafe-cucumber).
I am able to sort the debug configuration so far using WebStorm help, however, when I debug the project, it throws the following error to the console:
I am passing the following cucumber.js arguments:
--require testlab/**/step_definitions/*.js --tags #debug
And while I debug, I get the following error:
ReferenceError: testController is not defined
at World.<anonymous>
Test ignored.
Test ignored.
Failures:
1) Scenario: Searching for TestCafe on GitHub #
testlab\features\finAPIDemo.feature:6
× Given I open the GitHub page # testlab\step_definitions\github.js:5
ReferenceError: testController is not defined
I am expecting the debug to execute correctly, however, it is not working, the alternative I believe would be to write a js config and pass through as mentioned in the CucumberJS document page, however, I am not sure how to achieve that.
Any input or help will be appreciated.
This error only occurs when running cucumber with --tags #debug, and it's not specific to the IDE - you will face the same issue when starting your tests in terminal with node node_modules/cucumber/bin/cucumber-js --tags #debug:
node node_modules/cucumber/bin/cucumber-js --tags #debug
0 scenarios
0 steps
0m00.000s
E:\WebstormProjects\testcafe-cucumber\features\support\hooks.js:77
if (testController.testRun.lastDriverStatusResponse === 'test-done-confirmation') {
^
ReferenceError: testController is not defined
at Timeout.checkLastResponse [as _onTimeout] (E:\WebstormProjects\testcafe-cucumber\features\support\hooks.js:77:9)
at ontimeout (timers.js:436:11)
at tryOnTimeout (timers.js:300:5)
at listOnTimeout (timers.js:263:5)
at Timer.processTimers (timers.js:223:10)
I'm not sure why you need this option... There are no scenarios marked with #debug in your project, as far as I can see.
I'd suggest using a standard Cucumber.js run configuration for debugging. It works fine for me - tests are run, and breakpoints are hit:
You need to add the #debug directive for the scenario that you want to debug.
See the full setup in this help topic.
I would recommend using cucumber profiles and call that profile instead of using cli commands. Looking at the error you are receiving it looks like you are missing more required directories such as a custom world directory?
Under the hooks.js I have updated the import statements with const assignment and that worked for me:
Replaced:
'import errorHandling from "./support/errorHandling.js";\n' +
'import testControllerHolder from "./support/testControllerHolder.js";\n\n' +
with
'const errorHandling = require("./support/errorHandling.js");\n' +
'const testControllerHolder = require("./support/testControllerHolder.js");\n\n' +

How do I find out which module caused an error in Webpack?

When I run webpack, I get ERROR in Cannot find module 'lodash/lang/isFunction'. However, multiple module depend on lodash. How do I make Webpack go into debug or verbose mode?
Adding debug: true in my Webpack config file didn't do anything.
Are you familiar with the --display-error-details flag? Setting this when executing a build gives you more verbose output on errors (e.g. when a module is missing it will show you all the places it looked to find it). As far as I can tell this is command line only; I haven't been able to find an equivalent when running webpack via node.