Make WordPress Core


Ignore:
Timestamp:
10/13/2023 08:11:41 AM (3 years ago)
Author:
swissspidy
Message:

Build/Test Tools: Migrate Puppeteer tests to Playwright.

As per the migration plan shared last year, this migrates all browser-based tests in WordPress core to use Playwright.
This includes end-to-end, performance, and visual regression tests.

Props swissspidy, mamaduka, kevin940726, bartkalisz, desrosj, adamsilverstein.
Fixes #59517.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package-lock.json

    r56849 r56926  
    107107                        "devDependencies": {
    108108                                "@lodder/grunt-postcss": "^3.1.1",
     109                                "@playwright/test": "1.32.0",
    109110                                "@pmmmwh/react-refresh-webpack-plugin": "0.5.5",
    110111                                "@wordpress/babel-preset-default": "7.26.6",
    111112                                "@wordpress/dependency-extraction-webpack-plugin": "4.25.6",
    112113                                "@wordpress/e2e-test-utils": "10.13.6",
     114                                "@wordpress/e2e-test-utils-playwright": "0.11.0",
    113115                                "@wordpress/scripts": "26.13.6",
    114116                                "autoprefixer": "10.4.16",
    … …  
    37443746                        }
    37453747                },
     3748                "node_modules/@playwright/test": {
     3749                        "version": "1.32.0",
     3750                        "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.0.tgz",
     3751                        "integrity": "sha512-zOdGloaF0jeec7hqoLqM5S3L2rR4WxMJs6lgiAeR70JlH7Ml54ZPoIIf3X7cvnKde3Q9jJ/gaxkFh8fYI9s1rg==",
     3752                        "dev": true,
     3753                        "dependencies": {
     3754                                "@types/node": "*",
     3755                                "playwright-core": "1.32.0"
     3756                        },
     3757                        "bin": {
     3758                                "playwright": "cli.js"
     3759                        },
     3760                        "engines": {
     3761                                "node": ">=14"
     3762                        },
     3763                        "optionalDependencies": {
     3764                                "fsevents": "2.3.2"
     3765                        }
     3766                },
    37463767                "node_modules/@pmmmwh/react-refresh-webpack-plugin": {
    37473768                        "version": "0.5.5",
    … …  
    70127033                },
    70137034                "node_modules/@wordpress/e2e-test-utils-playwright": {
    7014                         "version": "0.10.6",
    7015                         "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.10.6.tgz",
    7016                         "integrity": "sha512-qUIcQTB4lFG6BUVCPtzs4gDeO/9Pzz1Knq3Uvt1QIYojy9Yr6G6c3f3Mudql+HFfiXoj3B3BxGbA4oLSb7bI6w==",
    7017                         "dev": true,
    7018                         "dependencies": {
    7019                                 "@wordpress/api-fetch": "^6.39.6",
    7020                                 "@wordpress/keycodes": "^3.42.6",
    7021                                 "@wordpress/url": "^3.43.6",
     7035                        "version": "0.11.0",
     7036                        "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.11.0.tgz",
     7037                        "integrity": "sha512-UxDkVvm24FJdi4nkn5+n9XirYxdJ1QDZgnHotdrgGRel8NOvlEOlhmT/xpuAPQrVwo+yynxEKeb1Y2AT6jX9og==",
     7038                        "dev": true,
     7039                        "dependencies": {
     7040                                "@wordpress/api-fetch": "^6.40.0",
     7041                                "@wordpress/keycodes": "^3.43.0",
     7042                                "@wordpress/url": "^3.44.0",
    70227043                                "change-case": "^4.1.2",
    70237044                                "form-data": "^4.0.0",
    … …  
    70317052                        "peerDependencies": {
    70327053                                "@playwright/test": ">=1"
     7054                        }
     7055                },
     7056                "node_modules/@wordpress/e2e-test-utils-playwright/node_modules/@wordpress/api-fetch": {
     7057                        "version": "6.40.0",
     7058                        "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.40.0.tgz",
     7059                        "integrity": "sha512-sNk6vZW02ldci1EpNIjmm61323x/0n2Ra/cDHuehZf8avOH/OV0zF0dXxttT8M9Fncz+XZDSIHopm76dU3Phug==",
     7060                        "dev": true,
     7061                        "dependencies": {
     7062                                "@babel/runtime": "^7.16.0",
     7063                                "@wordpress/i18n": "^4.43.0",
     7064                                "@wordpress/url": "^3.44.0"
     7065                        },
     7066                        "engines": {
     7067                                "node": ">=12"
     7068                        }
     7069                },
     7070                "node_modules/@wordpress/e2e-test-utils-playwright/node_modules/@wordpress/hooks": {
     7071                        "version": "3.43.0",
     7072                        "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.43.0.tgz",
     7073                        "integrity": "sha512-SHSiyFUEsggihl0pDvY1l72q+fHMDyFHtIR3GCt0uV2ifctvoa/PIYdVwrxpGQaGdNEV25XCZ4kNldqJmfTddw==",
     7074                        "dev": true,
     7075                        "dependencies": {
     7076                                "@babel/runtime": "^7.16.0"
     7077                        },
     7078                        "engines": {
     7079                                "node": ">=12"
     7080                        }
     7081                },
     7082                "node_modules/@wordpress/e2e-test-utils-playwright/node_modules/@wordpress/i18n": {
     7083                        "version": "4.43.0",
     7084                        "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.43.0.tgz",
     7085                        "integrity": "sha512-XHU/vGgI+pgjJU9WzWDHke1u948z8i3OPpKUNdxc/gMcTkKaKM4D8DW1+VMSQHyU6pneP8+ph7EF+1RIehP3lQ==",
     7086                        "dev": true,
     7087                        "dependencies": {
     7088                                "@babel/runtime": "^7.16.0",
     7089                                "@wordpress/hooks": "^3.43.0",
     7090                                "gettext-parser": "^1.3.1",
     7091                                "memize": "^2.1.0",
     7092                                "sprintf-js": "^1.1.1",
     7093                                "tannin": "^1.2.0"
     7094                        },
     7095                        "bin": {
     7096                                "pot-to-php": "tools/pot-to-php.js"
     7097                        },
     7098                        "engines": {
     7099                                "node": ">=12"
     7100                        }
     7101                },
     7102                "node_modules/@wordpress/e2e-test-utils-playwright/node_modules/@wordpress/keycodes": {
     7103                        "version": "3.43.0",
     7104                        "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.43.0.tgz",
     7105                        "integrity": "sha512-B6rYPiKFdQTlnJfm93R+usQnjEODUX/K4+hMvY5ZZOinvxe7KyU/xyFGz7gRrS8WmIEYcJowqSmAlGgVs4XwKQ==",
     7106                        "dev": true,
     7107                        "dependencies": {
     7108                                "@babel/runtime": "^7.16.0",
     7109                                "@wordpress/i18n": "^4.43.0",
     7110                                "change-case": "^4.1.2"
     7111                        },
     7112                        "engines": {
     7113                                "node": ">=12"
     7114                        }
     7115                },
     7116                "node_modules/@wordpress/e2e-test-utils-playwright/node_modules/@wordpress/url": {
     7117                        "version": "3.44.0",
     7118                        "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.44.0.tgz",
     7119                        "integrity": "sha512-QNtTPFg/cGHTJLOvOtQCvCgn5quFQgJml8A88I05o4dyUH/tc92rb8LNXi0qcVz/z4JPrx2g3+Ki8heYellP4A==",
     7120                        "dev": true,
     7121                        "dependencies": {
     7122                                "@babel/runtime": "^7.16.0",
     7123                                "remove-accents": "^0.5.0"
     7124                        },
     7125                        "engines": {
     7126                                "node": ">=12"
    70337127                        }
    70347128                },
    … …  
    79578051                        }
    79588052                },
     8053                "node_modules/@wordpress/scripts/node_modules/@wordpress/e2e-test-utils-playwright": {
     8054                        "version": "0.10.6",
     8055                        "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.10.6.tgz",
     8056                        "integrity": "sha512-qUIcQTB4lFG6BUVCPtzs4gDeO/9Pzz1Knq3Uvt1QIYojy9Yr6G6c3f3Mudql+HFfiXoj3B3BxGbA4oLSb7bI6w==",
     8057                        "dev": true,
     8058                        "dependencies": {
     8059                                "@wordpress/api-fetch": "^6.39.6",
     8060                                "@wordpress/keycodes": "^3.42.6",
     8061                                "@wordpress/url": "^3.43.6",
     8062                                "change-case": "^4.1.2",
     8063                                "form-data": "^4.0.0",
     8064                                "get-port": "^5.1.1",
     8065                                "lighthouse": "^10.4.0",
     8066                                "mime": "^3.0.0"
     8067                        },
     8068                        "engines": {
     8069                                "node": ">=12"
     8070                        },
     8071                        "peerDependencies": {
     8072                                "@playwright/test": ">=1"
     8073                        }
     8074                },
    79598075                "node_modules/@wordpress/scripts/node_modules/ajv": {
    79608076                        "version": "8.12.0",
    … …  
    81008216                        }
    81018217                },
     8218                "node_modules/@wordpress/scripts/node_modules/form-data": {
     8219                        "version": "4.0.0",
     8220                        "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
     8221                        "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
     8222                        "dev": true,
     8223                        "dependencies": {
     8224                                "asynckit": "^0.4.0",
     8225                                "combined-stream": "^1.0.8",
     8226                                "mime-types": "^2.1.12"
     8227                        },
     8228                        "engines": {
     8229                                "node": ">= 6"
     8230                        }
     8231                },
    81028232                "node_modules/@wordpress/scripts/node_modules/glob-parent": {
    81038233                        "version": "6.0.2",
    … …  
    81578287                        "engines": {
    81588288                                "node": ">=8"
     8289                        }
     8290                },
     8291                "node_modules/@wordpress/scripts/node_modules/mime": {
     8292                        "version": "3.0.0",
     8293                        "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
     8294                        "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
     8295                        "dev": true,
     8296                        "bin": {
     8297                                "mime": "cli.js"
     8298                        },
     8299                        "engines": {
     8300                                "node": ">=10.0.0"
    81598301                        }
    81608302                },
    … …  
    3673036872                        }
    3673136873                },
     36874                "@playwright/test": {
     36875                        "version": "1.32.0",
     36876                        "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.0.tgz",
     36877                        "integrity": "sha512-zOdGloaF0jeec7hqoLqM5S3L2rR4WxMJs6lgiAeR70JlH7Ml54ZPoIIf3X7cvnKde3Q9jJ/gaxkFh8fYI9s1rg==",
     36878                        "dev": true,
     36879                        "requires": {
     36880                                "@types/node": "*",
     36881                                "fsevents": "2.3.2",
     36882                                "playwright-core": "1.32.0"
     36883                        }
     36884                },
    3673236885                "@pmmmwh/react-refresh-webpack-plugin": {
    3673336886                        "version": "0.5.5",
    … …  
    3926439417                },
    3926539418                "@wordpress/e2e-test-utils-playwright": {
    39266                         "version": "0.10.6",
    39267                         "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.10.6.tgz",
    39268                         "integrity": "sha512-qUIcQTB4lFG6BUVCPtzs4gDeO/9Pzz1Knq3Uvt1QIYojy9Yr6G6c3f3Mudql+HFfiXoj3B3BxGbA4oLSb7bI6w==",
    39269                         "dev": true,
    39270                         "requires": {
    39271                                 "@wordpress/api-fetch": "^6.39.6",
    39272                                 "@wordpress/keycodes": "^3.42.6",
    39273                                 "@wordpress/url": "^3.43.6",
     39419                        "version": "0.11.0",
     39420                        "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.11.0.tgz",
     39421                        "integrity": "sha512-UxDkVvm24FJdi4nkn5+n9XirYxdJ1QDZgnHotdrgGRel8NOvlEOlhmT/xpuAPQrVwo+yynxEKeb1Y2AT6jX9og==",
     39422                        "dev": true,
     39423                        "requires": {
     39424                                "@wordpress/api-fetch": "^6.40.0",
     39425                                "@wordpress/keycodes": "^3.43.0",
     39426                                "@wordpress/url": "^3.44.0",
    3927439427                                "change-case": "^4.1.2",
    3927539428                                "form-data": "^4.0.0",
    … …  
    3927939432                        },
    3928039433                        "dependencies": {
     39434                                "@wordpress/api-fetch": {
     39435                                        "version": "6.40.0",
     39436                                        "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.40.0.tgz",
     39437                                        "integrity": "sha512-sNk6vZW02ldci1EpNIjmm61323x/0n2Ra/cDHuehZf8avOH/OV0zF0dXxttT8M9Fncz+XZDSIHopm76dU3Phug==",
     39438                                        "dev": true,
     39439                                        "requires": {
     39440                                                "@babel/runtime": "^7.16.0",
     39441                                                "@wordpress/i18n": "^4.43.0",
     39442                                                "@wordpress/url": "^3.44.0"
     39443                                        }
     39444                                },
     39445                                "@wordpress/hooks": {
     39446                                        "version": "3.43.0",
     39447                                        "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.43.0.tgz",
     39448                                        "integrity": "sha512-SHSiyFUEsggihl0pDvY1l72q+fHMDyFHtIR3GCt0uV2ifctvoa/PIYdVwrxpGQaGdNEV25XCZ4kNldqJmfTddw==",
     39449                                        "dev": true,
     39450                                        "requires": {
     39451                                                "@babel/runtime": "^7.16.0"
     39452                                        }
     39453                                },
     39454                                "@wordpress/i18n": {
     39455                                        "version": "4.43.0",
     39456                                        "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.43.0.tgz",
     39457                                        "integrity": "sha512-XHU/vGgI+pgjJU9WzWDHke1u948z8i3OPpKUNdxc/gMcTkKaKM4D8DW1+VMSQHyU6pneP8+ph7EF+1RIehP3lQ==",
     39458                                        "dev": true,
     39459                                        "requires": {
     39460                                                "@babel/runtime": "^7.16.0",
     39461                                                "@wordpress/hooks": "^3.43.0",
     39462                                                "gettext-parser": "^1.3.1",
     39463                                                "memize": "^2.1.0",
     39464                                                "sprintf-js": "^1.1.1",
     39465                                                "tannin": "^1.2.0"
     39466                                        }
     39467                                },
     39468                                "@wordpress/keycodes": {
     39469                                        "version": "3.43.0",
     39470                                        "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.43.0.tgz",
     39471                                        "integrity": "sha512-B6rYPiKFdQTlnJfm93R+usQnjEODUX/K4+hMvY5ZZOinvxe7KyU/xyFGz7gRrS8WmIEYcJowqSmAlGgVs4XwKQ==",
     39472                                        "dev": true,
     39473                                        "requires": {
     39474                                                "@babel/runtime": "^7.16.0",
     39475                                                "@wordpress/i18n": "^4.43.0",
     39476                                                "change-case": "^4.1.2"
     39477                                        }
     39478                                },
     39479                                "@wordpress/url": {
     39480                                        "version": "3.44.0",
     39481                                        "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.44.0.tgz",
     39482                                        "integrity": "sha512-QNtTPFg/cGHTJLOvOtQCvCgn5quFQgJml8A88I05o4dyUH/tc92rb8LNXi0qcVz/z4JPrx2g3+Ki8heYellP4A==",
     39483                                        "dev": true,
     39484                                        "requires": {
     39485                                                "@babel/runtime": "^7.16.0",
     39486                                                "remove-accents": "^0.5.0"
     39487                                        }
     39488                                },
    3928139489                                "form-data": {
    3928239490                                        "version": "4.0.0",
    … …  
    3995840166                        },
    3995940167                        "dependencies": {
     40168                                "@wordpress/e2e-test-utils-playwright": {
     40169                                        "version": "0.10.6",
     40170                                        "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-0.10.6.tgz",
     40171                                        "integrity": "sha512-qUIcQTB4lFG6BUVCPtzs4gDeO/9Pzz1Knq3Uvt1QIYojy9Yr6G6c3f3Mudql+HFfiXoj3B3BxGbA4oLSb7bI6w==",
     40172                                        "dev": true,
     40173                                        "requires": {
     40174                                                "@wordpress/api-fetch": "^6.39.6",
     40175                                                "@wordpress/keycodes": "^3.42.6",
     40176                                                "@wordpress/url": "^3.43.6",
     40177                                                "change-case": "^4.1.2",
     40178                                                "form-data": "^4.0.0",
     40179                                                "get-port": "^5.1.1",
     40180                                                "lighthouse": "^10.4.0",
     40181                                                "mime": "^3.0.0"
     40182                                        }
     40183                                },
    3996040184                                "ajv": {
    3996140185                                        "version": "8.12.0",
    … …  
    4005440278                                        }
    4005540279                                },
     40280                                "form-data": {
     40281                                        "version": "4.0.0",
     40282                                        "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
     40283                                        "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
     40284                                        "dev": true,
     40285                                        "requires": {
     40286                                                "asynckit": "^0.4.0",
     40287                                                "combined-stream": "^1.0.8",
     40288                                                "mime-types": "^2.1.12"
     40289                                        }
     40290                                },
    4005640291                                "glob-parent": {
    4005740292                                        "version": "6.0.2",
    … …  
    4009740332                                                "p-locate": "^4.1.0"
    4009840333                                        }
     40334                                },
     40335                                "mime": {
     40336                                        "version": "3.0.0",
     40337                                        "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
     40338                                        "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
     40339                                        "dev": true
    4009940340                                },
    4010040341                                "p-locate": {
Note: See TracChangeset for help on using the changeset viewer.