Cy ...failed because this element prevents user mouse interaction.

I kindly need help on how I can go about this error

CypressError
Timed out retrying after 8050ms: cy.click() failed because this element:

          <span class="MuiButton-label">Add con...</span>

          has CSS pointer-events: none, inherited from this element:

<a class="MuiButtonBase-root MuiButton-root MuiButton-outlined MuiButton-outlinedPrimary Mui-disabled Mui-disabled" tabindex="-1" role="button" aria-disabled="true" href="/actions">...</a>

          pointer-events: none prevents user mouse interaction.

          Fix this problem, or use {force: true} to disable error checking.Learn more

Without overriding the built-in checks using {force: true} option for I may force the tests to pass when the element is actually not interactable in the application.

@kdaud, @ibacher, @jayasanka, @sharif in relation to this PR

@jwnasambu So, some more context is necessary to work out this issue. But basically what happens is this: when you first arrive on the “Add Bulk Concepts” page, the button to add concepts is disabled, which is becase we explicitly set it to be disabled if the input is blank. The disabled flag will be set to false (and thus the button will be clickable) when the TextField onChange() event occurs.

The reason that this button is disabled is because no text ever gets entered into the field. So, e.g. in this step definition, the only thing that it does is call cy.getConcept("#conceptId") (I’m not sure what this is trying to do) and then call cy.get("textarea"), i.e., we get a reference to the textarea, but don’t do anything with it. That step definition needs to be re-written to something more like:

When(
  /the user enters concept Id "(1000|1001|1002)"/, (conceptId) =>
    cy.get("textarea").type(conceptId)
); 

This should work because the regular expression we use in the When() call has a single capture group which is one of “1000”, “1001”, or “1002”. That value then gets assigned as the first argument to our function (which is why we have the (conceptId) => part.

In the body of the function, we first get a reference to the textarea on the screen, and then type that conceptId in. At that point, the onChange event should’ve fired and the button should now be accessible.

2 Likes

Thanks so much for a clear explanation.

Anyone who has come across this error please! Timed out retrying after 8000ms: expected 'http://localhost:8080/actions' to equal 'actions/' This is my PR kindly how do I go about I have tried my level best but am stack.

@jayasanka have you encountered this error somewhere? Kindly how did you go about it?

1 Like

Hi @jwnasambu, I added some comments on your PR.

1 Like

Just wondering if anyone has experience this error before CypressErrorcy.request() failed on:https://api.staging.openconceptlab.org/ - Pastebin.com. Kindly how did you go about it? This is my PR feel free to point out what I haven’t done right.

@kdaud, @jayasanka, @bistenes , @christine @dkayiwa and @ibacher am so sorry for a bother! I kindly need your help! I have a recursive error of which I don’t know how to go about it. I kindly need your technical help! This is the error https://pastebin.com/nBQr1sV0 and this is the PR. Thanks for your help in advance.

Am really sorry for the same issue over and over. I kindly need help! some to guide me on how to solve this issue once and for all please! Screenshot 2021-10-27 at 6.07.49 PM

Am ready for a sync. Thanks in advance.

Am sorry I forgot to share the PR where the above error is appearing. This is the link https://github.com/openmrs/openmrs-ocl-client/pull/729. I haven’t solved the error yet am open to one anyone’s help.

@ibacher, @dkayiwa, @cioan, @jayasanka kindly I desire a break through on the persisting error on this PR. Thanks in advance