artillery: Playwright tests not working with GitHub Action? browserType.launch: Executable doesn't exist at /github/home/.cache/ms-playwright/chromium-1076/chrome-linux/chrome
Version info:
v2.0.0-37
Running this command:
run tests/my-test.yml --output ./report.json
I expected to see this happen:
The test to run like it does locally.
Instead, this happened:
worker error, id: 1 browserType.launch: Executable doesn't exist at /github/home/.cache/ms-playwright/chromium-1076/chrome-linux/chrome
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
at Array.scenario (/home/node/artillery/node_modules/artillery-engine-playwright/index.js:56:38)
at runScenario (/home/node/artillery/node_modules/@artilleryio/int-core/lib/runner.js:331:32)
at EventEmitter.<anonymous> (/home/node/artillery/node_modules/@artilleryio/int-core/lib/runner.js:203:25)
at EventEmitter.emit (/home/node/artillery/node_modules/eventemitter3/index.js:181:35)
at UniformProcess.<anonymous> (/home/node/artillery/node_modules/@artilleryio/int-core/lib/phases.js:220:[12](https://github.com/nansen-ai/nansen-artillery/actions/runs/6467513570/job/17557698774#step:9:13))
at /home/node/artillery/node_modules/arrivals/lib/index.js:47:10
at NanoTimer.setInterval (/home/node/artillery/node_modules/nanotimer/lib/nanotimer.js:2[20](https://github.com//actions/runs/6467513570/job/17557698774#step:9:21):5)
at Immediate._onImmediate (/home/node/artillery/node_modules/nanotimer/lib/nanotimer.js:203:68) ***
name: 'Error'
Files being used: Workflow:
name: Load Test
on:
workflow_dispatch:
jobs:
artillery:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Setup bun dependencies
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: |
bun install
npx playwright install
- name: Write the serviceAccountKey.json file 📝
run: |
echo '${{ secrets.SERVICE_ACCOUNT_KEY }}' > serviceAccountKey.json
- name: Execute load tests
uses: artilleryio/action-cli@v1
with:
command: run tests/my-test.yml --output ./report.json
- name: Upload artifact
uses: actions/upload-artifact@v3
if: always()
with:
name: artillery-report
# Reference the generated report in the file system.
path: ./report.json
About this issue
- Original URL
- State: open
- Created 9 months ago
- Comments: 17 (4 by maintainers)
This appears to have changed again. I’m new to Playwright and Artillery so it’s my first encounter with the issue. It seems like many have worked around it. I’ll spend some time trying to do the same.Never mind, I had a more current version of the browser deps in the cache and hadn’t yet installed the older ones. Indeed it works with the version of Playwright specified in packages.json
That makes more sense - we were using artillery in the package.json and likely having version conflicts in
package-lock.json
because of it. Now that I am aware that’ll cause non-ideal results, I’ll switch our codebase to annpx artillery
approach for Artillery itself. Thanks for the clarification.