Test run in cypress headless gives error cy.click() - cypress

I've a test cases written in cucumber and cypress. The test case run successfully through cypress Test runner, but fails while running through headless mode using the command.
node_modules\.bin\cypress run --spec **/*.features
CypressError: Timed out retrying: `cy.click()` failed because this element is not visible:
Questions:
what is the possible reason to have this element not visible error?
How can i handle the wait in headless mode?

The fix is :
Fix all your issues displayed on the console w.r.t xpaths, sync or
any such.

Related

Cypress test ran with browser vs head-lessly

How can I debug a test that is failing when ran headlessly but passing
when ran with a opened browser ?
below is the error I'm getting when running the test without opened browser:
AssertionError: Timed out retrying: Expected to find content: 'Logout' within the element: [ <a.navbar-item>, 2 more... ] but never did.
Meaning ... the test passes locally but fails within CI tool.
Please ask if you need to know any details.
I would suggest recording a video and using console.log statements in your test. https://docs.cypress.io/guides/guides/screenshots-and-videos.html#Screenshots

Running only failed test cases in Cypress

While running Cypress scripts, some of the cases are getting failed. I want to run only those failed cases to run again.
How can I run only failed test cases in Cypress?
As long as its not integrated directly in Cypess, you can use a npm package like cypress-run
npm install cypress-run --save
Then edit then run command in the package.json and replace the command
cypress run by for example cypress-run --retries 4, this will retry the failed tests 4 times
Cypress has released version 5.0 which has support for retries, see https://docs.cypress.io/guides/guides/test-retries.html for more information
Just add this line in your cypress.json file.
{
"retries":2
}
It will retry your failed Test case for twice.

Failed test in protractor stops the execution for rest test cases

I am running the protractor Suite (spec file having multiple test cases), If any test case fails, protractor does not continue with the next test case execution and all the rest of test cases also fail.
EXPECTED BEHAVIOR:
Upon failure on any test case, protractor should continue with next test case execution.
I used "Protractor-Fail-Fast" Npm package to stop the rest test case execution if any test case fail. But ideally I am not looking for the same.
But this will not help me!
Just for reference: In Visual Studio MS test, If I created ordered test (same as Spec file in protractor having multiple test cases) and then set test setting like "continue on failure", ordered test execution will continue even if some test case failed.
I am looking for a similar test setting or any solution for protractor.
If you dont't want to stop all tests run just stop using Protractor-Fail-Fast library? Protractor tests run till the end by default even if some of the tests are failed.
set ignoreUncaughtExceptions: true in config file as following:
/**
* If set, Protractor will ignore uncaught exceptions instead of exiting
* without an error code. The exceptions will still be logged as warnings.
*/
ignoreUncaughtExceptions?: boolean;
you can get above description from here
export.config = {
...
ignoreUncaughtExceptions: true
}

Uncaught AssertionError: Env not set, aborting run cypress issue

Everytime i try to run my cypress test i am getting this error:
Uncaught AssertionError: Env not set, aborting run
This error originated from your test code, not from Cypress.
When Cypress detects uncaught errors originating from your test code it will automatically fail the current test.
Cypress could not associate this error to any specific test.
We dynamically generated a new test to display this failure.
Check your console for the stack trace or click this message to see where it originated from.
Maybe it is happening because when i run cypress open or run inside the folder, it opens like this and i have to manually select the test folder?
And when i do npm install, i get this error:
Required: {"node":">=8.9.4","npm":"~5.6.0"}
Actual: {"npm":"6.4.1","node":"11.11.0"}

'protractor exited with code: 3 Use --force to continue' in protractor

I'm using protractor with jasmine framework to run my automation scripts. The test is failing with the following error:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Warning: Tests failed, protractor exited with code: 3 Use --force to continue.
while trying to get attribute value of an element.
But, I'm able to perform clicks and verifyElementPresent kind of actions for the same web element..
Could any one please help me out of this how to overcome this error.
Thanks in advance..

Resources