CesiumGS / CesiumGS/cesium

End-to-end tests not generating screenshots

Open Beginner friendly
#12,948 3 comments 0 reactions 0 assignees View on GitHub
test failure theme - developer comfort
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

### What happened?

We are currently specifying a very old version of Playwright, but with a `^`:
```json
"@playwright/test": "^1.41.1",
```
v1.41.1 is deprecated and no longer available from npm. Because of the caret `^`, `npm install` instead loads `1.55.1`. Playwright does not follow semver, so there are many breaking changes between those two versions.

With the latest version `1.55.1`, the playwright browser binaries are not able to find WebGL on my machine. Here is the screenshot for "3D Models Coloring" using Playwright `1.55.1`:

Image

If I pin Playwright to `1.46.0` (the oldest version still available), the screenshot is generated correctly:

Image

Note: I have to clear the cache of browser binaries when changing versions.

### Reproduction steps

Make sure to start from a clean slate, both for Cesium and for Playwright:

1. Remove all installed packages: `git clean -dxf`
2. Remove Playwright browser binaries. On Ubuntu, they were stored in my home directory: `rm -rf ~/.cache/ms-playwright`
3. `npm install`
4. `npm run build`
5. `npm run test-e2e-update`

### Sandcastle example

_No response_

### Environment

Browser: Playwright's pre-built chromium binaries
CesiumJS Version: 1.134
Operating System: WSL Ubuntu

Contributor guide

Open the contributing guide

Research direction

Start by locating the package manifest entry for @playwright/test and inspect the npm run test-e2e-update script. Reproduce from a clean checkout with the listed package and browser-cache cleanup steps, then verify that the selected Playwright version generates the affected end-to-end screenshots successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, playwright
Domain
testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.