diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4c8e21a8..45470ce9 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -29,6 +29,6 @@ jobs: - name: Lint run: pnpm run lint:all - name: Test - run: | - pnpm --filter remotedev-redux-devtools-extension exec chromedriver & - xvfb-run pnpm run test:all + uses: coactions/setup-xvfb@v1 + with: + run: pnpm run test:all diff --git a/extension/package.json b/extension/package.json index 037f14b5..a1ed67cf 100644 --- a/extension/package.json +++ b/extension/package.json @@ -58,9 +58,9 @@ "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", "@types/styled-components": "^5.1.30", + "chromedriver": "^118.0.1", "cross-env": "^7.0.3", "electron": "^27.0.4", - "electron-chromedriver": "^27.1.3", "esbuild": "^0.19.5", "eslint": "^8.53.0", "eslint-config-airbnb": "^19.0.4", diff --git a/extension/test/electron/devpanel.spec.js b/extension/test/electron/devpanel.spec.js index 36717521..94dc5065 100644 --- a/extension/test/electron/devpanel.spec.js +++ b/extension/test/electron/devpanel.spec.js @@ -2,6 +2,7 @@ import { join } from 'path'; import webdriver from 'selenium-webdriver'; import chrome from 'selenium-webdriver/chrome'; import electronPath from 'electron'; +import chromedriver from 'chromedriver'; import { switchMonitorTests, delay } from '../utils/e2e'; const devPanelPath = @@ -11,6 +12,8 @@ describe('DevTools panel for Electron', function () { let driver; beforeAll(async () => { + chromedriver.start(); + await delay(1000); driver = new webdriver.Builder() .usingServer('http://localhost:9515') .setChromeOptions( @@ -24,6 +27,7 @@ describe('DevTools panel for Electron', function () { afterAll(async () => { await driver.quit(); + chromedriver.stop(); }); it('should open Redux DevTools tab', async () => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e94d1e0..745065d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -156,15 +156,15 @@ importers: '@types/styled-components': specifier: ^5.1.30 version: 5.1.30 + chromedriver: + specifier: ^118.0.1 + version: 118.0.1 cross-env: specifier: ^7.0.3 version: 7.0.3 electron: specifier: ^27.0.4 version: 27.0.4 - electron-chromedriver: - specifier: ^27.1.3 - version: 27.1.3 esbuild: specifier: ^0.19.5 version: 0.19.5 @@ -9874,6 +9874,10 @@ packages: dependencies: defer-to-connect: 2.0.1 + /@testim/chrome-version@1.1.4: + resolution: {integrity: sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==} + dev: true + /@testing-library/dom@9.3.3: resolution: {integrity: sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==} engines: {node: '>=14'} @@ -12402,6 +12406,24 @@ packages: engines: {node: '>=6.0'} dev: true + /chromedriver@118.0.1: + resolution: {integrity: sha512-GlGfyRE47IuSJnuadIiDy89EMDMQFBVWxUmiclLJKzQhFsiWAtcIr/mNOxjljZdsw9IwIOQEkrB9wympKYFPLw==} + engines: {node: '>=18'} + hasBin: true + requiresBuild: true + dependencies: + '@testim/chrome-version': 1.1.4 + axios: 1.6.1 + compare-versions: 6.1.0 + extract-zip: 2.0.1 + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + tcp-port-used: 1.0.2 + transitivePeerDependencies: + - debug + - supports-color + dev: true + /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -12602,6 +12624,10 @@ packages: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true + /compare-versions@6.1.0: + resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} + dev: true + /component-emitter@1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true @@ -13236,6 +13262,18 @@ packages: ms: 2.1.3 dev: true + /debug@4.3.1: + resolution: {integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug@4.3.4(supports-color@5.5.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -13639,18 +13677,6 @@ packages: jake: 10.8.7 dev: true - /electron-chromedriver@27.1.3: - resolution: {integrity: sha512-dJ9dQTvT1zGLfOc5FhgRAptHuL6IbLMSkc+bccjI10WOCKedz9vHNE/p1x+4Nl3Yx/zNb2KReCEVsa/mIqI5YQ==} - engines: {node: '>=10.12.0'} - hasBin: true - requiresBuild: true - dependencies: - '@electron/get': 2.0.3 - extract-zip: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /electron-to-chromium@1.4.582: resolution: {integrity: sha512-89o0MGoocwYbzqUUjc+VNpeOFSOK9nIdC5wY4N+PVUarUK0MtjyTjks75AZS2bW4Kl8MdewdFsWaH0jLy+JNoA==} @@ -15677,6 +15703,11 @@ packages: dependencies: loose-envify: 1.4.0 + /ip-regex@4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} + dev: true + /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} @@ -16001,6 +16032,10 @@ packages: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} + /is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: true + /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true @@ -16029,6 +16064,15 @@ packages: dependencies: is-docker: 2.2.1 + /is2@2.0.9: + resolution: {integrity: sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==} + engines: {node: '>=v0.10.0'} + dependencies: + deep-is: 0.1.4 + ip-regex: 4.3.0 + is-url: 1.2.4 + dev: true + /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true @@ -20786,6 +20830,15 @@ packages: engines: {node: '>=8.0.0'} dev: false + /tcp-port-used@1.0.2: + resolution: {integrity: sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==} + dependencies: + debug: 4.3.1 + is2: 2.0.9 + transitivePeerDependencies: + - supports-color + dev: true + /telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} dependencies: