Skip to content

fix: fix pixel ratio mismatch on pages with out of process iframes #730

fix: fix pixel ratio mismatch on pages with out of process iframes

fix: fix pixel ratio mismatch on pages with out of process iframes #730

Workflow file for this run

name: Standalone Browser Integration Tests
on:
pull_request:
branches: [master]
jobs:
integration-test:
runs-on: ubuntu-latest
env:
DOCKER_IMAGE_NAME: html-reporter-browsers
INTEGRATION_BROWSER_VERSION: "138.0"
strategy:
matrix:
node-version: [24.x]
browser: [chrome, firefox]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Cache Testplane browsers and drivers
uses: actions/cache@v3
with:
path: ~/.testplane
key: ${{ runner.os }}-testplane-browsers-${{ matrix.browser }}-${{ env.INTEGRATION_BROWSER_VERSION }}
- name: Install dependencies
run: npm ci
- name: Build project
run: npm run build
- name: Preload Chrome browser
if: ${{ matrix.browser == 'chrome' }}
timeout-minutes: 10
env:
BROWSER: ${{ matrix.browser }}
run: TS_NODE_TRANSPILE_ONLY=1 node scripts/run-node-without-type-stripping.js -r ts-node/register scripts/preload-standalone-browser.ts
- name: "Prepare screenshot tests: Cache browser docker image"
if: ${{ matrix.browser == 'chrome' }}
uses: actions/cache@v3
with:
path: ~/.docker/cache
key: docker-browser-image-testplane
- name: "Prepare screenshot tests: Pull browser docker image"
if: ${{ matrix.browser == 'chrome' }}
run: |
mkdir -p ~/.docker/cache
if [ -f ~/.docker/cache/image-ghcr-chromium-126.tar ]; then
docker load -i ~/.docker/cache/image-ghcr-chromium-126.tar
else
docker pull ghcr.io/gemini-testing/browsers/chromium:126.0
docker save ghcr.io/gemini-testing/browsers/chromium:126.0 -o ~/.docker/cache/image-ghcr-chromium-126.tar
fi
- name: "Prepare screenshot tests: Run browser docker image"
if: ${{ matrix.browser == 'chrome' }}
run: docker run -d --name ${{ env.DOCKER_IMAGE_NAME }} -it --rm --network=host $(which colima >/dev/null || echo --add-host=host.docker.internal:0.0.0.0) ghcr.io/gemini-testing/browsers/chromium:126.0
- name: Run integration tests for ${{ matrix.browser }}
env:
BROWSER: ${{ matrix.browser }}
run: npm run test-integration
- name: "Screenshot tests: Stop browser docker image"
if: ${{ always() && matrix.browser == 'chrome' }}
run: |
docker kill ${{ env.DOCKER_IMAGE_NAME }} || true
docker rm ${{ env.DOCKER_IMAGE_NAME }} || true