Skip to content

Chromium 30 regression tests ​

Docker provides Chromium 30, ChromeDriver and Xvfb to check the Vue 2.7 example's production and webpack development entries. Versions are checked during installation and session creation.

Requirements ​

  • Use the project's Node and pnpm versions.
  • Docker must be running with linux/amd64 container support.
  • First installation needs network access to archives and image dependencies.
  • Ports 5174 and 5175 must be available.

The installer supplies browsers, drivers, libraries, fonts and Xvfb. Apple Silicon uses amd64 emulation.

Install and run ​

From the vuEPG repository root:

sh
pnpm install
pnpm legacy:install
pnpm test:chrome30

An independent example uses the same commands in its directory. Installation checks archives and builds the fixed image; testing builds the application and runs assertions. Success exits 0, failure exits nonzero and preserves logs/screenshots. Test-owned containers and services are released afterward.

Coverage ​

AreaChecks
StartupES5 application, polyfills and default focus
InputDirections, Confirm and Back
NavigationLoops and page restoration
DialogsBoundaries, Back priority, restoration and invalid-target fallback
Dynamic contentHidden, Vue-unmounted and detached focus recovery
ScrollingOut-of-viewport targets
Developmentwebpack startup, CSS updates and focus retention
Vite entryHTML loads, module scripts exist, application does not mount

The Vite comparison checks legacy development behavior; production and webpack cover normal working flows.

Results ​

Repository results are in examples/tv-training/legacy-results; copied projects use their own legacy-results directory. Each run creates a new subdirectory.

FileContents
report.jsonStatus, browser/driver, package version and bundle hashes
assertions.jsonIndividual assertion results
production*.png / webpack-development*.pngPage, scroll and dialog captures
vite-development.pngVite page capture
*-browser.jsonBrowser and resource errors
chromedriver.log / xvfb.log / server.logDriver, graphics and resource logs
failure.txt / failure.pngFailure details and page state

CI runs the same commands and uploads the chrome30-results artifact.

Fixed environment ​

Versions, base image and download checksums are in manifest.json. Docker fixes direct dependency versions and supplies compatibility libraries. ChromeDriver 2.8 officially supports Chrome 30–33.

Archives are cached in .cache/legacy and checked with SHA-256. Caches and results are ignored. Remove project caches, results and matching containers/images:

sh
pnpm legacy:clean

Troubleshooting ​

IssueCheck
Docker unavailableService and docker info permissions
Download/checksum failureNetwork, archive and manifest checksum
Container cannot executeamd64/emulation support
Dependency installation failsBuild logs and fixed versions
Development unreachablePorts, firewall, host.docker.internal and 0.0.0.0 binding
Browser startup failsDriver/Xvfb logs and libraries
Updates failWebSocket and fetch polyfill

Production is served inside the container. Docker Desktop accesses dev servers through host.docker.internal; Linux Docker Engine uses host-gateway.

Host platform records ​

HostStatus
WSL2 / Ubuntu 24.04 + Docker Desktop amd64Regression passed
Linux Docker Engine amd64Regression passed in GitHub Actions
Windows/macOS + Docker DesktopShared Linux image; host execution not yet verified
Apple Siliconamd64 emulation; not yet verified

Desktop tests cover browser behavior. For native protocols, resources and performance, see Device integration.