@sgiehl opened this Pull Request on August 12th 2021 Member

Description:

We are still using Puppeteer 2.1.1, which uses a quite "old" Chromium version.
Puppeteer 8.0.0 will update that to Chromium 90.

Note: I'm note yet updating to version 10.2.0, as with version 10 some methods that we are using were removed, also for some reason the tests are hanging after a fixture is set up. Don't want to waste time trying to figure out what exactly needs to be changed.

Review

  • [ ] Functional review done
  • [ ] Potential edge cases thought about (behavior of the code with strange input, with strange internal state or possible interactions with other Matomo subsystems)
  • [ ] Usability review done (is anything maybe unclear or think about anything that would cause people to reach out to support)
  • [ ] Security review done see checklist
  • [ ] Code review done
  • [ ] Tests were added if useful/possible
  • [ ] Reviewed for breaking changes
  • [ ] Developer changelog updated if needed
  • [ ] Documentation added if needed
  • [ ] Existing documentation updated if needed
@mattab commented on August 18th 2021 Member

Is there any benefit to this project, besides maybe preventing some tech debt? Maybe this can wait for some months, or is there value in continuing this work now?

@sgiehl commented on August 18th 2021 Member

This ensures our tests are running with a more modern Chrome. In theory the newer version would even support running the tests with Firefox as well. Also there are a lot more features, that can be quite useful for writing better tests. In addition I hope this brings some more stability into our tests and reduces the random failures.

@Findus23 commented on August 18th 2021 Member

Especially this makes sure that the UI tests (and other JS tests) represent the reality of people using modern versions of web browsers instead of Chrom(e|ium) 80 which was released in 2019 and might not trigger bugs in Matomo caused by changes in how browsers work since then.

@sgiehl commented on August 25th 2021 Member

Seems I finally found a solution to "fix" the TwoFactorAuth UI tests, even though the solution is not optimal.
It seems due to the many calls for login + logout and the settings at some point the CoreJS javascript is served empty. I actually was not able to figure out where the exact problem is. Maybe it's a raise condition that two request want to create the asset file or something similar.
Disabling the merged assets for those tests seems to solve the test failures.

@sgiehl commented on August 25th 2021 Member

I'll add the needs review label, but will still keep the draft status, as there are various updates in the submodules. So if this should be merged, we need to create PRs for the submodules first, merge them and update the submodules in this PR before merging it.

This Pull Request was closed on September 1st 2021
Powered by GitHub Issue Mirror