Run WebdriverIO tests via Mocha in WebStorm - mocha.js

I want to run WebdriverIO + Mocha tests from the WebStorm gutter (the green triangle icons on the left side, by the line numbers).
But when I press run triangle - error occurred:
/Users/ilyubin/.nvm/versions/node/v10.15.0/bin/node /Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/bin/_mocha --ui bdd --reporter /Applications/WebStorm.app/Contents/plugins/NodeJS/js/mocha-intellij/lib/mochaIntellijReporter.js /Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/test/specs/catalog/not.found.page.spec.js --grep "^Тесты страницы ошибок Поиск несуществующего запроса$"
/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/test/specs/catalog/not.found.page.spec.js:1
(function (exports, require, module, __filename, __dirname) { import {expect} from 'chai';
^
SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at /Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/mocha.js:324:27
at Array.forEach (<anonymous>)
at Mocha.loadFiles (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/mocha.js:321:14)
at Mocha.run (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/mocha.js:763:10)
at Object.exports.singleRun (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/cli/run-helpers.js:196:16)
at exports.runMocha (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/cli/run-helpers.js:291:13)
at Object.exports.handler.argv [as handler] (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/cli/run.js:292:3)
at Object.runCommand (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/node_modules/yargs/lib/command.js:238:44)
at Object.parseArgs [as _parseArgs] (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/node_modules/yargs/yargs.js:1072:28)
at Object.parse (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/node_modules/yargs/yargs.js:566:25)
at Object.exports.main (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/lib/cli/cli.js:62:6)
at Object.<anonymous> (/Users/ilyubin/git/ozon.ru/packages/ozon.ru-ui-tests/node_modules/mocha/bin/_mocha:10:23)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
How to run WebdriverIO tests from WebStorm?
My versions:
WebStorm 2018.3.3
Build #WS-183.5153.33, built on January 9, 2019
JRE: 1.8.0_152-release-1343-b26 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.2
➜ ~ node -v
v10.15.0
➜ ~ mocha --version
5.2.0
My dependencies:
"dependencies": {
"#wdio/allure-reporter": "^5.4.9",
"#wdio/cli": "^5.4.13",
"#wdio/local-runner": "^5.4.13",
"#wdio/mocha-framework": "^5.4.13",
"#wdio/spec-reporter": "^5.4.3",
"#wdio/sync": "^5.4.13",
...
},

You can't run wdio specs using mocha test runner, so Mocha run configuration can't be used here. You need using Node.js run configuration instead:
Also, as you are using ES6 syntax in your tests, you have to configure wdio to use babel. See https://webdriver.io/docs/babel.html for instructions:
npm install --save-dev #babel/core #babel/cli #babel/preset-env #babel/register
in the project root folder, create a file babel.config.js:
module.exports = {
presets: [
['#babel/preset-env', {
targets: {
node: 8
}
}]
]
}
in your wdio.conf.js, set up mocha as follows;
mochaOpts: {
ui: 'bdd',
timeout: 60000,
compilers: ['js:#babel/register']
},

Related

Why cypress config is invalid when I try to run npx cypress open?

I've already installed cypress and I once successfully open it and run some example test cases. I don't know why when I try to open it again with command npx cypress open in vscode it says
Cypress Configuration Error
This is the stack trace:
Error: Cannot find module 'cypress'
Require stack:
- C:\Users\janna\Documents\Miftah's folder\Learn\Cypress\gitRepo\ngx-cypress-test\cypress.config.js
- C:\Users\janna\AppData\Local\Cypress\Cache\10.6.0\Cypress\resources\app\node_modules\#packages\server\lib\plugins\child\run_require_async_child.js
- C:\Users\janna\AppData\Local\Cypress\Cache\10.6.0\Cypress\resources\app\node_modules\#packages\server\lib\plugins\child\require_async_child.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (C:\Users\janna\AppData\Local\Cypress\Cache\10.6.0\Cypress\resources\app\node_modules\#cspotcode\source-map-support\source-map-support.js:679:30)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\janna\Documents\Miftah's folder\Learn\Cypress\gitRepo\ngx-cypress-test\cypress.config.js:1:26)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at loadFile (C:\Users\janna\AppData\Local\Cypress\Cache\10.6.0\Cypress\resources\app\node_modules\#packages\server\lib\plugins\child\run_require_async_child.js:89:14)
at EventEmitter. (C:\Users\janna\AppData\Local\Cypress\Cache\10.6.0\Cypress\resources\app\node_modules\#packages\server\lib\plugins\child\run_require_async_child.js:116:38)
at EventEmitter.emit (node:events:527:28)
at EventEmitter.emit (node:domain:475:12)
You can fix that file with watchForFileChanges: false,
const { defineConfig } = require("cypress");
module.exports = defineConfig({
e2e: {
watchForFileChanges: false,
setupNodeEvents(on, config) {
// implement node event listeners here
},
},
});

When I run this command to deploy the solana contract this error is reported

So when I run this
ts-node C:\Users\ras zebi\Desktop\solana boobs\metaplex-master\js\packages\cli\src\candy-machine-v-cli.ts upload -e devnet -k C:\Users\ras zebi\Desktop\solana boobs\keypair\my-keypair.json -cp C:\Users\ras zebi\Desktop\solana boobs\metaplex-master\js\packages\cli\example-candy-machine-upload-config.json C:\Users\ras zebi\Desktop\solana boobs\metaplex-master\my assets
I get this
Error: Cannot find module './ras'
Require stack:
- C:\Users\imaginaryUncacheableRequireResolveScript
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.resolve (node:internal/modules/cjs/helpers:108:19)
at requireResolveNonCached (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:496:16)
at getProjectSearchDir (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:466:40)
at phase3 (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:268:27)
at bootstrap (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:44:30)
at main (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:32:12)
at Object.<anonymous> (C:\Users\ras zebi\AppData\Roaming\npm\node_modules\ts-node\dist\bin.js:526:5)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\\Users\\imaginaryUncacheableRequireResolveScript' ]
What can I try to fix this?

How can I fix error loading Nest plugin on Homebridge?

I'm attempting to configure Homebridge to work with Nest on my Mac and keep getting an error.
Plugin /usr/local/lib/node_modules/homebridge-nest requires Node version of >=7.0.0 which does not satisfy the current Node version of v6.10.2. You may need to upgrade your installation of Node.
[2/18/2020, 6:00:00 PM] ====================
[2/18/2020, 6:00:00 PM] ERROR LOADING PLUGIN homebridge-nest:
[2/18/2020, 6:00:00 PM] /usr/local/lib/node_modules/homebridge-nest/index.js:56
const setupConnection = async function(config, log, verbose, fieldTestMode) {
^^^^^^^^
SyntaxError: Unexpected token function
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Plugin.load (/usr/local/lib/node_modules/homebridge/lib/plugin.js:72:23)
[2/18/2020, 6:00:00 PM] ====================
[2/18/2020, 6:00:00 PM] No plugins found. See the README for information on installing plugins.
[2/18/2020, 6:00:00 PM] Loading 1 platforms...
[2/18/2020, 6:00:00 PM] Error: The requested platform 'Nest' was not registered by any plugin.
at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:134:13)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
[2/18/2020, 6:00:00 PM] Got SIGTERM, shutting down Homebridge...
Here's my JSON
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",
"platforms": [{
"platform": "Nest",
"googleAuth": {
"issueToken": "https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response_type=token%20id_token&login_hint=AJDLj6LQu-SMCQLMJfOUep6S7tCeWAUM8L_6c8Dj9GIeY0cxEn-AULk7yn0dkJoKv_z4wvzGJ0iZx-kcjZ5xj1DDwac1dZcAMQ&client_id=733249279899-44tchle2kaa9afr5v9ov7jbuojfr9lrq.apps.googleusercontent.com&origin=https%3A%2F%2Fhome.nest.com&scope=openid%20profile%20email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fnest-account&ss_domain=https%3A%2F%2Fhome.nest.com",
"cookies": "OCAK=6Gpp3vMJ084YX0gCdqDvJIUJT_fuMNYTCT7_rh1HW4M; SMSV=ADHTe-CF5KNGkL2G5C-D-J7jayLLfOLnXqQ8iM49DXPJzfzGC85DSIomIevBu9eSR59A9iO9PD9XXJJ2Q5tgSHOF9bo1FxcZC5b61kL3SlR01SU5CfIy2ZU; SID=twfMk8v7apgTE2uaQkllsFsjNRrgAtyvyaajjpjLeWN9QdsxJqfAP1erwz5HO1-HmRYGCQ.; __Secure-3PSID=twfMk8v7apgTE2uaQkllsFsjNRrgAtyvyaajjpjLeWN9QdsxKoGkfGEJ94C93zJNyzMxpQ.; HSID=A94hWDWbaSapUnfOt; SSID=AzhVO612TBbX8F2Z8; APISID=b0lkl00NAukSkxOe/AeTGbbtfxT9cvIMXq; SAPISID=04x_3b-HiBwD5J_k/Ag0qa78QqtNQ0pCOm; __Secure-HSID=A94hWDWbaSapUnfOt; __Secure-SSID=AzhVO612TBbX8F2Z8; __Secure-APISID=b0lkl00NAukSkxOe/AeTGbbtfxT9cvIMXq; __Secure-3PAPISID=04x_3b-HiBwD5J_k/Ag0qa78QqtNQ0pCOm; NID=198=NzlWP3z4RF7pa3gqai_ztJ8flWV6_dU9oP5fgrpNQhBIMqAf51ZKAagFF8ETlcItUknpZ9AsUVl012gIupblk1SCBgxnG6k05pM2UDxn9ONeY9ueKL-urvoXp9XR50_kESyov-pasjLhR01u0e9LDaXfNpKKw2F1V_wIlJM4vMY; user_id=103767692665581163041; LSID=lso|s.youtube:twfMkwkwfPHTaBLxSR6mMRa5lNd7eXSe_D5m5QHx2iKyVB3D1NDkG7EFEBoMuP0hVzyewQ.; __Host-3PLSID=lso|s.youtube:twfMkwkwfPHTaBLxSR6mMRa5lNd7eXSe_D5m5QHx2iKyVB3D1S6nkK6M682tC3Nf9fjSNA.; ACCOUNT_CHOOSER=AFx_qI4_E36Uf9lo9tY8DPFcCiJpFJPE5lPHv9r9xlaMRUa-N-KcUurtozwzGhnyf02jtYjI8R116R2UListrLgt9l2eyv9JzZNUSJS-3bFqu0ZpbLU1lj3SWuQwbTGngn61PflZndBmUjcT-p0eFLawMycfomBNJA; GAPS=1:lhOINnCxGSGm4B478qHpnjWbU2riLRCyU2LtDUjn2kCo43nJCkLUqHZvluRDZwrGyLSkHI4UN5I2SJiBCdbkujIObPoXSA:w_aFiucAC1X6i6Bi; SIDCC=AN0-TYt38874bUgr7hY34-9EuPOU9gth7qFC8oHA4OtvtJRVsVf8gpdp1gb6Q6ugWUmuDUefaw",
"apiKey": "AIzaSyAdkSIMNc51XGNEAYWasX9UOWkS5P6sZE4"
}
}]
}
I've tried:
Deleting accessories
Redownloading with -g
Any idea what could be happening here? I've searched for a few hours now and haven't had any luck.
The JSON is not working because the plugin is not loaded... the error shows you that the error occurs in a Unexpected token function ("function") in the code... even tells you the file name, line number and position on the line ("vm.js:56:10").
I suppose this error has been fixed already - but if not please contact the author(s) with an issue request at (https://github.com/chrisjshull/homebridge-nest/issues).

How to compile and bundle react 16.9 using gulp 4.0.1?

I have an existing project, I used React 16.9. Now, I want to implement Gulp 4.0.1 to build it in the server. I am running in windows 10.
In my components, I am using import form
I tried using this gulpfile.js, its very simple.
var gulp = require('gulp'),
browserify = require('browserify'),
source = require('vinyl-source-stream'),
buffer = require('vinyl-buffer');
var BUILD_DIR = 'buildtest/';
function compile() {
var bundler = browserify('src/index.js');
return bundler
.transform('babelify', { presets: ['es2015', 'react'] })
.bundle()
.pipe(source('index.js'))
.pipe(buffer())
.pipe(gulp.dest(BUILD_DIR));
}
gulp.task('build:js', function() {
return compile();
})
gulp.task('build', ['build:js'])
Now by running the gulp command it gives me this error:
λ gulp
assert.js:350
throw err;
^
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (D:\myprojectfolderpath\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (D:\myprojectfolderpath\node_modules\undertaker\lib\task.js:13:8)
at Object.<anonymous> (D:\myprojectfolderpath\gulpfile.js:84:6)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
According to the gulp's task Documentation gulp.task([taskName], taskFunction) second argument the 'taskFunction' needs to use either a gulp.series() or gulp.parallel.
Before 4.0 it was possible to define the task as you did, but this changed in 4.0.
Changing your gulp.task('build', ['build:js']) into gulp.task('build', gulp.series('build:js')) should fix the issue.

ReferenceError: describe is not defined (Debugging Protractor Test)

I'm new on Protractor. So far, I have a few tests up and running on production, but I'm having a hard time chasing errors with the console logs. I have my VS Code setup for debugging and I'm getting this:
Exception has occurred: Error
ReferenceError: describe is not defined
at Object.<anonymous> (f:\My Docs\...\my-spec.js:21:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Timeout.Module.runMain [as _onTimeout] (module.js:604:10)
at ontimeout (timers.js:380:14)
at tryOnTimeout (timers.js:244:5)
at Timer.listOnTimeout (timers.js:214:5)
This is what I have installed:
node --version
v6.10.2
#angular/cli: 1.3.2
protractor --version
Version 5.1.2
jasmine v2.8.0
jasmine-core v2.8.0
mocha --version
4.0.1
Here is my conf.js file:
// conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['my-spec.js'],
capabilities: {
'browserName': 'chrome'
},
onPrepare: function () {
global.EC = protractor.ExpectedConditions;
global.defaultWait = 5000;
global.defaultSleep = 50;
global.takeScreenShots = false;
},
allScriptsTimeout: 90000, // 90 seconds
jasmineNodeOpts: {
defaultTimeoutInterval: 180000 // 3 min
}
}
That's supposed to be a jasmine function. It would make more sense if I get the same error while running the Test, but it's only while debugging. Since it's the beggining of my test, I'm completly stucked. Can anybody give me at least a better clue of where this issue is? Do I need something else installed for debugging? Thanks in advance!
SOLVED!
The issue was in my launch file. As I said above I had this in my launch.json:
"program": "${workspaceRoot}/my-spec.js"
based on protractor website they set that to:
"program": "${workspaceRoot}/node_modules/protractor/bin/protractor",
I thought I needed to point to my test file, wrong!
So I set it to:
"program": "C:/Users/gabio/AppData/Roaming/npm/node_modules/protractor/bin/protractor",
(where my protractor lives)
Now I can debug as normally!

Resources