Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin fails with "a.replace is not a function" #109

Closed
juan-belmonte opened this issue Jan 27, 2023 · 10 comments · Fixed by #110 or #112
Closed

Plugin fails with "a.replace is not a function" #109

juan-belmonte opened this issue Jan 27, 2023 · 10 comments · Fixed by #110 or #112

Comments

@juan-belmonte
Copy link

Environment

Cypress package version: 12.4.0
Cypress binary version: 12.4.0
Electron version: 21.0.0
Bundled Node version: 16.16.0
cypress-plugin-api: 2.10.0

Issue description

I'm running a set of API tests against different environments:

  • Dev: there's an issue, and it responds with status code 500 and a JSON response body
  • Local: I fixed the issue and tests pass

When I run Cypress against the local environment, everything works as expected. But when running against the dev environment, the plugin crashes:

react_devtools_backend.js:4012 
        
       TypeError: a.replace is not a function
    at o (webpack:///./node_modules/cypress-plugin-api/dist/support.js:9:212)
    at Array.map (<anonymous>)
    at Object.o [as encode] (webpack:///./node_modules/cypress-plugin-api/dist/support.js:9:212)
    at Object.highlight (webpack:///./node_modules/cypress-plugin-api/dist/support.js:9:3805)
    at P (webpack:///./node_modules/cypress-plugin-api/dist/support.js:10:1036)
    at Fe (webpack:///./node_modules/cypress-plugin-api/dist/support.js:12:1510)
    at Context.eval (webpack:///./node_modules/cypress-plugin-api/dist/support.js:14:2091)
From previous event:
    at Context.thenFn (https://dev.company.com/__cypress/runner/cypress_runner.js:135668:63)
    at Context.then (https://dev.company.com/__cypress/runner/cypress_runner.js:135917:21)
    at wrapped (https://dev.company.com/__cypress/runner/cypress_runner.js:151098:19)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:149957:15)
From previous event:
    at CommandQueue.runCommand (https://dev.company.com/__cypress/runner/cypress_runner.js:149923:8)
    at next (https://dev.company.com/__cypress/runner/cypress_runner.js:150123:19)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:150144:16)
From previous event:
    at next (https://dev.company.com/__cypress/runner/cypress_runner.js:150123:39)
From previous event:
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:163626:77)
From previous event:
    at CommandQueue.run (https://dev.company.com/__cypress/runner/cypress_runner.js:163621:21)
    at CommandQueue.run (https://dev.company.com/__cypress/runner/cypress_runner.js:150187:15)
    at $Cy.runQueue (https://dev.company.com/__cypress/runner/cypress_runner.js:151078:14)
    at cy.<computed> [as runExample] (https://dev.company.com/__cypress/runner/cypress_runner.js:151160:12)
    at runnable.fn (https://dev.company.com/__cypress/runner/cypress_runner.js:151339:19)
    at callFn (https://dev.company.com/__cypress/runner/cypress_runner.js:104935:21)
    at ../driver/node_modules/mocha/lib/runnable.js.Runnable.run (https://dev.company.com/__cypress/runner/cypress_runner.js:104922:7)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:158288:30)
From previous event:
    at Object.onRunnableRun (https://dev.company.com/__cypress/runner/cypress_runner.js:158271:53)
    at $Cypress.action (https://dev.company.com/__cypress/runner/cypress_runner.js:147586:28)
    at Runnable.run (https://dev.company.com/__cypress/runner/cypress_runner.js:156289:13)
    at ../driver/node_modules/mocha/lib/runner.js.Runner.runTest (https://dev.company.com/__cypress/runner/cypress_runner.js:105594:10)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:105720:12)
    at next (https://dev.company.com/__cypress/runner/cypress_runner.js:105503:14)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:105513:7)
    at next (https://dev.company.com/__cypress/runner/cypress_runner.js:105415:14)
    at <unknown> (https://dev.company.com/__cypress/runner/cypress_runner.js:105481:5)
    at timeslice (https://dev.company.com/__cypress/runner/cypress_runner.js:99407:27)
overrideMethod @ react_devtools_backend.js:4012
logError @ index-5879cbca.js:101743
(anonymous) @ index-5879cbca.js:107810
emit @ index-5879cbca.js:107396
(anonymous) @ cypress_runner.js:177918
emit @ cypress_runner.js:18373
emit @ cypress_runner.js:177980
onPrint @ cypress_runner.js:176860
_onPrintClick @ cypress_runner.js:176864
(anonymous) @ cypress_runner.js:178101
executeAction @ cypress_runner.js:45275
n @ cypress_runner.js:45275
ca @ cypress_runner.js:55921
ja @ cypress_runner.js:55922
ka @ cypress_runner.js:55922
wa @ cypress_runner.js:55924
Aa @ cypress_runner.js:55925
ya @ cypress_runner.js:55925
Da @ cypress_runner.js:55928
Ad @ cypress_runner.js:55991
Gi @ cypress_runner.js:56157
Kb @ cypress_runner.js:55946
Dd @ cypress_runner.js:55993
(anonymous) @ cypress_runner.js:56158
../../node_modules/scheduler/cjs/scheduler.production.min.js.exports.unstable_runWithPriority @ cypress_runner.js:59656
Ii @ cypress_runner.js:56158
Cd @ cypress_runner.js:55992

The plugin fails and Cypress is showing that failure instead of the assertion error (status code mismatch).

@martin131
Copy link

Same problem on my tests. Moved back to cy.request

@filiphric
Copy link
Owner

Hey there! Thanks for the report! I will do my best to take a look into this issue this week. If there's a way for you to provide information about the request and response body, it would be very helpful. Apparentl, the plugin is trying to parse something, but throws an error instead. I need to be able to narrow down what exactly is throwing this error and fix it. Thanks in advance!

@denisconekta
Copy link

same problem; weird thing is that other colleagues working on same tests don't have the issue.

@filiphric filiphric linked a pull request Feb 3, 2023 that will close this issue
@filiphric
Copy link
Owner

I tried fixing the issue but since I had not reproduction, my fix is only a guess on might have caused the issue. Please update to v 2.10.1 and if the issue persists, feel free to reopen the issue and kindly provide me with a reproduction repository or at least an example of response, including response headers that cause this issue.

@filiphric filiphric reopened this Feb 3, 2023
@filiphric
Copy link
Owner

Alirght I haven’t fixed it, thank you @martin131 for helping me debug this. it seems that there’s an error in how different formats are resolved.

@filiphric filiphric linked a pull request Feb 3, 2023 that will close this issue
@martin131
Copy link

Works for me in the latest version 2.10.3. Thank you!

@denisconekta
Copy link

Whit the new version of the plugin works perfect. Thanks @filiphric !

@juan-belmonte
Copy link
Author

I confirm that version 2.10.3 also solves the issue for me. Thank you very much, @filiphric.
Please excuse I didn't provide any further information before you solved it.

@ncrco
Copy link

ncrco commented Apr 30, 2024

Hello, I have the same error, but I don't know how to solve it, regardless of the version the error continues. @filiphric

@ncrco
Copy link

ncrco commented Apr 30, 2024

From yesterday to today I was racking my brains trying to fix a bug that exists within the node modules of the Cypress plugin and, like, a horrible error that keeps returning a false negative, informing that R is not a function.
If this happens to you, there is a very simple way to fix it, Cypress will identify the file that has the bug and you will need to enter the file and modify it by transforming that R into a string. It was the only way I found to handle it, with a lot of help from the university students, in the end the test passed. @filiphric

error:
Imagem do WhatsApp de 2024-04-30 à(s) 10 17 26_74fa2a8a

solution:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants