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

Chrome <= 94 throws TypeError: client.Fetch.continueResponse is not a function #7868

Closed
htho opened this issue Jul 7, 2023 · 2 comments
Closed

Comments

@htho
Copy link
Contributor

htho commented Jul 7, 2023

What is your Scenario?

I run my tests against the oldest browsers we support. For Chrome this is 88. On the build-pipeline it is a headless browser.

I use the portable versions of older browser versions. But the problem also occurs with an installed version.

What is the Current behavior?

When run in normal mode TestCafe fails with TypeError: client.Fetch.continueResponse is not a function (see below for the complete call stack).

When run in headless mode the name of the fixture is logged, then the program does not continue anymore.

What is the Expected behavior?

Tests are executed as with more recent versions of TestCafe.

What is your public website URL? (or attach your complete example)

about:blank

What is your TestCafe test code?

fixture('Getting Started')
    .page('about:blank');

test('My first test', async t => {
    // Test code goes here
});

Your complete configuration file

No response

Your complete test report

Normal Mode:

> npx testcafe chromium:.\GoogleChromePortable94\GoogleChromePortable.exe .\test.tc.js
TypeError: client.Fetch.continueResponse is not a function
    at formatter (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:41:28)
    at connectionResetGuard (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:20:15)
    at safeContinueResponse (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:35:11)
    at handleRequestPauseEvent (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\special-handlers.ts:31:35)
    at handler (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\special-handlers.ts:58:15)
    at Chrome.<anonymous> (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\index.ts:422:23)
    at Chrome.emit (node:events:513:28)
    at Chrome.emit (node:domain:489:12)
    at Chrome._handleMessage (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\chrome-remote-interface\lib\chrome.js:287:18)
    at WebSocket.<anonymous> (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\chrome-remote-interface\lib\chrome.js:240:22)
TypeError: client.Fetch.continueResponse is not a function
    at formatter (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:41:28)
    at connectionResetGuard (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:20:15)
    at safeContinueResponse (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\safe-api.ts:35:11)
    at handleRequestPauseEvent (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\special-handlers.ts:31:35)
    at handler (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\special-handlers.ts:58:15)
    at Chrome.<anonymous> (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\testcafe\src\native-automation\request-pipeline\index.ts:422:23)
    at Chrome.emit (node:events:513:28)
    at Chrome.emit (node:domain:489:12)
    at Chrome._handleMessage (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\chrome-remote-interface\lib\chrome.js:287:18)
    at WebSocket.<anonymous> (C:\path\to\github.com\htho\testcafe-repro-old-headless-chromium\node_modules\chrome-remote-interface\lib\chrome.js:240:22)

Headless Mode (aborted with Control+c after a minute):

> npx testcafe chromium:.\GoogleChromePortable94\GoogleChromePortable.exe:headless .\test.tc.js
 Running tests in:
 - Chrome 94.0.4606.81 / Windows 10

 Getting Started
Stopping TestCafe...
Batchvorgang abbrechen (J/N)?
^C

Screenshots

No response

Steps to Reproduce

  1. Download and "install" the portable browser to ./GoogleChromePortable94/
  2. npx testcafe chromium:.\GoogleChromePortable94\GoogleChromePortable.exe .\test.tc.js

TestCafe version

3.0.1

Node.js version

v18.16.1

Command-line arguments

npx testcafe chromium:.\GoogleChromePortable94\GoogleChromePortable.exe .\test.tc.js

Browser name(s) and version(s)

Chrome 94

Platform(s) and version(s)

Windows 10

Other

Here is a repository with test code and links to the according portable apps:

https://github.com/htho/testcafe-repro-old-headless-chromium

@htho htho added the TYPE: bug The described behavior is considered as wrong (bug). label Jul 7, 2023
@need-response-app need-response-app bot added the STATE: Need response An issue that requires a response or attention from the team. label Jul 7, 2023
@miherlosev
Copy link
Collaborator

Hi @htho,

The latest TestCafe version (3.0.1) supports the latest browser versions (see https://testcafe.io/documentation/402828/guides/intermediate-guides/browsers?search#browser-support). The 94 version of Google Chrome is too outdated. However, as a workaround, you can use the 2.x version.

@need-response-app need-response-app bot removed the STATE: Need response An issue that requires a response or attention from the team. label Jul 10, 2023
@htho
Copy link
Contributor Author

htho commented Jul 10, 2023

Hi,

I really get a bad feeling in my gut reading your reply.
I see how it makes sense to only support the latest browsers from a development point of view.
But for me as someone who needs to support older Browser-Versions as-well, this makes TestCafe unattractive.

Anyway - I found a solution: I disable native automation.

I hope this works as long as Firefox and other Browsers are supported.

@need-response-app need-response-app bot added the STATE: Need response An issue that requires a response or attention from the team. label Jul 10, 2023
@miherlosev miherlosev removed TYPE: bug The described behavior is considered as wrong (bug). STATE: Need response An issue that requires a response or attention from the team. labels Jul 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants