Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jun 27 20:01
    garg3133 assigned #3171
  • Jun 27 20:01
    garg3133 assigned #3171
  • Jun 27 20:01
    garg3133 edited #3171
  • Jun 27 20:01
    garg3133 edited #3171
  • Jun 27 20:01
    garg3133 edited #3171
  • Jun 27 20:01
    garg3133 edited #3171
  • Jun 27 20:00
    garg3133 synchronize #3171
  • Jun 27 20:00
    garg3133 synchronize #3171
  • Jun 27 15:33
    chriscuba23 edited #3256
  • Jun 27 15:33
    chriscuba23 edited #3256
  • Jun 27 15:31
    chriscuba23 edited #3256
  • Jun 27 15:31
    chriscuba23 edited #3256
  • Jun 27 15:30
    chriscuba23 edited #3256
  • Jun 27 15:30
    chriscuba23 edited #3256
  • Jun 27 15:29
    chriscuba23 edited #3256
  • Jun 27 15:29
    chriscuba23 edited #3256
  • Jun 27 15:28
    chriscuba23 commented #3256
  • Jun 27 15:28
    chriscuba23 commented #3256
  • Jun 27 15:20
    chriscuba23 edited #3256
  • Jun 27 15:20
    chriscuba23 edited #3256
strellisrx
@strellisrx
Hey everyone I'm new on gitter. I'll appreciate some insight on this issue. I looked all over the internet and still haven't found a definitive solution to this issue.
When running npm run cuke I get:
'Driver info: driver.version: unknown'
],
message: 'Unable to create session from {'
},
status: 33
It does log the version prior to executing
And I can create a session if I do it from the hub manually
I'm using chromeversion90 macOS big sur
this is my nightwatch conf

// @ts-ignore

const chromedriver = require('chromedriver');
const seleniumServer = require('selenium-server');

const config = {
// we use a nightwatch.conf.js file so we can include comments and helper functions
src_folders: [
'src/tests/functionaltest', // we use '/test' as the name of our test directory by default. So 'test/e2e' for 'e2e'.
],
page_objects_path: 'src/tests/page-objects',
output_folder: './node_modules/nightwatch/reports', // reports (test outcome) output by Nightwatch
custom_commands_path: 'src/tests/commands',
selenium: {
start_process: true,
server_path: seleniumServer.path,
log_path: '',
host: '127.0.0.1',
port: 4444,
cli_args: {
'webdriver.chrome.driver': chromedriver.path,
},
},
test_workers: { enabled: true, workers: 'auto' }, // perform tests in parallel where possible
test_settings: {
default: {
webdriver: {
start_process: true,
server_path: chromedriver.path,
port: 4444,
cli_args: ['--port=4444'],
},
launch_url: 'http://localhost:3000',
selenium_port: 4444,
selenium_host: '127.0.0.1',
silent: true,
capabilities: {
configuration: {
_comment: 'Configuration for Node',
cleanUpCycle: 2000,
timeout: 30000,
port: 5555,
host: '127.0.0.1',
register: true,
hubPort: 4444,
maxSession: 5,
},
},
desiredCapabilities: {
browserName: 'chrome',
seleniumProtocol: 'WebDriver',
chromeOptions: {
w3c: false,
args: [
'--enable-features=NetworkService,NetworkServiceInProcess',
'--headless',
'--disable-gpu',
'--no-sandbox',
'--disable-dev-shm-usage',
'--window-size=1920,1080',
],
},
},
screenshots: {
enabled: true,
path: './reports/nightwatchTests/screenshots',
on_failure: true,
on_error: true,
},
use_xpath: false,
},
local: {
launch_url: 'http://localhost:3000',
selenium_port: 4444,
selenium_host: '127.0.0.1',
silent: true,
globals: {
waitForConditionTimeout: 15000, // Default timeout, 15 seconds
},
desiredCapabilities: {
browserName: 'chrome',
platform: 'ANY',
seleniumProtocol: 'WebDriver',
chromeOptions: {
w3c: false,
args: [
'--enable-features=NetworkService,NetworkServiceInProcess',
'--headless',
'--disable-gpu',
'--no-sandbox',
'--disable-dev-shm-usage',
'--window-size=1920,1080',
],
},
javascriptEnabled: true,
acceptSslCerts: true,
},
},

Ravi Sawlani
@gravityvi
Hey @strellisrx, can you use compose mode for sharing code as it would more readable also can you share your cuke npm script you are trying to run?
Xander Dumaine
@xdumaine

Hi, I'm trying to convert a bash script that invokes nightwatch to using programmatic API, and when I'm running it, the webdriver isn't starting and I can't figure out why.

config:

{
  output_folder: 'nightwatch_output',
  webdriver: {
    start_process: true,
    port: 9515,
    server_path: '/usr/local/bin/chromedriver',
    cli_args: [
      '--port=9515',
      '--log-path=nightwatch_output/chromedriver-2021-07-23T00:55:10.479Z.log'
    ]
  },
  test_settings: {
    default: {
      desiredCapabilities: [Object],
      globals: [Object],
      launch_url: 'redacted',
      screenshots: [Object]
    }
  },
  globals: {
    asyncHookTimeout: 90000,
    retryAssertionTimeout: 30000,
    waitForConditionTimeout: 30000
  },
  src_folders: [ 'test' ]
}

Code:

(async () => {
  const runner = Nightwatch.CliRunner();
  await runner.setup(config).startWebDriver();

  try {
    runner.runTests();
  } catch (err) {
    await runner.stopWebDriver();
  }
})();

output:


==========================
⠋ Connecting to localhost on port 9515...
    POST  /session - ECONNREFUSED
⚠ Error connecting to localhost on port 9515.
_________________________________________________

TEST FAILURE: 1 error during execution; 0 tests failed, 0 passed (123ms)

   Error: An error occurred while retrieving a new session: "Connection refused to 127.0.0.1:9515". If the Webdriver/Selenium service is managed by Nightwatch, check if "start_process" is set to "true".
it doesn't even seem like it's attempting to start the webdriver.
Xander Dumaine
@xdumaine
to clarify, tests run fine with the exact same config using yarn nightwatch and passing that config.
Xander Dumaine
@xdumaine
It's a dead simple setup so something must be bad about the example here - https://nightwatchjs.org/guide/running-tests/programmatic-api.html
Xander Dumaine
@xdumaine

I made some progress by passing Nightwatch.CliRunner({ config: 'nightwatch.conf.js', env: 'default'})

but now getting unknown error: Chrome failed to start: exited abnormally.

Xander Dumaine
@xdumaine
oh hey, I solved that, I just missed the headless. boy that took some reverse engineering to figure out the right params. that docs page really needs updated.
Ravi Sawlani
@gravityvi
Hey @xdumaine, we would surely work on documentation but thanks for sharing :smile:
You could also use Nightwatch default config which would save you from all the configuration
Tim Yao
@tim-yao
Hi @gravityvi As you here, any idea on this question?
in VSCode we can use F12 to find the definition of a function. However, it seems not work for nightwatch commands. Either my custom commands or core commands. Does anyone here has solution for it?
I think this https://www.npmjs.com/package/@types/nightwatch will help but couldn't make it work. Based on https://code.visualstudio.com/docs/nodejs/working-with-javascript#_typings-and-automatic-type-acquisition
Thanks.
Ravi Sawlani
@gravityvi
Hi @tim-yao, I don't have an idea regarding but have a look at this tweet this might help your usecase I think : tweet
Tim Yao
@tim-yao
Thanks @gravityvi , I really think this is important for dev experience. When I use cypress, VSCode Intellisense works by default.
Ravi Sawlani
@gravityvi
Yes, I agree, we will look into it :smiley: .
Tim Yao
@tim-yao
Thanks!
Xander Dumaine
@xdumaine

You could also use Nightwatch default config which would save you from all the configuration

That seems like a silly suggestion.

  1. it disregards the specific requirements that I have
  2. it doesn't work. Using the example provided on the docs that I linked, the cli runner still doesn't create any webdriver instances

Additional feedback:

when starting the runner, I don't think it should resolve if there are no instances to start. Rejecting due to no instances would be best, but at least have a warning logged that there are no instances created (and why) would save a lot of time in debugging.

Ravi Sawlani
@gravityvi
Hey @xdumaine, you can raise a issue regarding this in the project moreover we will also appreciate your contribution if you can raise a PR with suggested changes.
vdokkupalle-ebsco
@vdokkupalle-ebsco

Hi.. I am using nightwatch API as a node service. I found that over the time, the memory is keep increasing. When I profiled the node app, I see the results are not being cleared from memory and all the loaded scenarios as modules are in memory in the form of strings. Is there a way to unload the scenario when a test is completed?

Also is there a way to store the results as JSON file.. I am using the reporter callback in globals to get the results and saving it as JSON. But when there are many tests, the results object is huge and it is crashing the server when saving it to file system (Probably during stringify. I am using BFJ library to stringify the object asynchronously). Any ideas to reduce the report size?

Thanks

Ravi Sawlani
@gravityvi
hey @vdokkupalle-ebsco, by Nightwatch API are you referring to the nightwatch-api node package?
vdokkupalle-ebsco
@vdokkupalle-ebsco
Hi @gravityvi , It's Nightwatch Cli Runner
Ravi Sawlani
@gravityvi
oh okay, will look into this
Omar Gonzalez
@s9tpepper
√ Expected element <.component-article-topic-breadcrumbs .single-category> text to equal: "DESIGN"
Is there a way to disable this output from the expect API calls?
Vaibhav Singh
@vaibhavsingh97
@s9tpepper you can add detailed_output to false in Nightwatch config, this will not show detailed assertion output
vdokkupalle-ebsco
@vdokkupalle-ebsco
@gravityvi Hi, did you get any chance to look into it?
Ravi Sawlani
@gravityvi
Hey @vdokkupalle-ebsco, can you provide me some more details about your test setup I am not able to recreate the issue.
KirbsP
@KirbsP
Hi is there any reason my output for my nightwatch html is all green even failed ones are showing as failed and are ticked in the report. Despite saying failed. Im not sure where I should be putting the options I want to run as the documentation isn't clear on where to put it
Ravi Sawlani
@gravityvi
Hey @KirbsP can you share your nightwatch config? and what kind of options you want to use?
KirbsP
@KirbsP

var HtmlReporter = require('nightwatch-html-reporter');
/ Same options as when using the built in nightwatch reporter option /
var reporter = new HtmlReporter({
openBrowser: true,
reportsDirectory: __dirname + '/reports/'
});

module.exports = {
write : function(results, options, done) {
reporter.fn(results, done);
}
};

THis is what I run. So I either want to run default or compact
nightwatch --tag accessible --default --reporter ./html-reporter.js
Ravi Sawlani
@gravityvi
@KirbsP can you also share the command where this is happening, what line is causing this type of discrepancies?
KirbsP
@KirbsP
It runs the test
one sec ill see if I can screenshot the output
Screenshot 2021-08-03 at 13.55.26.png
@gravityvi Thats a snippet of the html output
KirbsP
@KirbsP
My issue is it's all showing green
Even the style.css file shows it shouldnt.
Ravi Sawlani
@gravityvi
I guess this issue is related to the reporter you are using.
KirbsP
@KirbsP
im using the nightwatch html reporterso youre saying it has an issue?
Ravi Sawlani
@gravityvi
yes, this reporter is not maintained by nightwatch-team
KirbsP
@KirbsP
ok cheers
KirbsP
@KirbsP
So I've used a different kind of reporting tool as opposed to the above and I still get the same issue
The code is literally copied and pasted
https://www.npmjs.com/package/nightwatch-html-reporter If someone has time it would be good to see if you see the same issue as I do with this then for my own sanity
Dharin Shah
@Dharin-shah
@KirbsP can we move this to github discussions to track the thread easily ?