[PR #4674] [MERGED] :electron: Playwright testing for electron #5527

Closed
opened 2026-02-28 21:13:52 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/4674
Author: @MikesGlitch
Created: 3/21/2025
Status: Merged
Merged: 4/5/2025
Merged by: @MikesGlitch

Base: masterHead: electron/playwright


📝 Commits (10+)

📊 Changes

15 files changed (+130 additions, -32 deletions)

View changed files

📝 .github/workflows/e2e-test.yml (+21 -0)
📝 .github/workflows/update-vrt.yml (+4 -4)
📝 bin/package-electron (+20 -19)
📝 package.json (+2 -1)
packages/desktop-electron/.gitignore (+5 -0)
packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-1-linux.png (+0 -0)
packages/desktop-electron/e2e/data/.gitkeep (+0 -0)
packages/desktop-electron/e2e/onboarding.test.ts (+20 -0)
📝 packages/desktop-electron/index.ts (+15 -6)
📝 packages/desktop-electron/package.json (+3 -1)
packages/desktop-electron/playwright.config.ts (+22 -0)
📝 packages/desktop-electron/tsconfig.dist.json (+1 -1)
📝 packages/desktop-electron/window-state.ts (+10 -0)
upcoming-release-notes/4674.md (+6 -0)
📝 yarn.lock (+1 -0)

📄 Description

Why

We keep running into issues where Electron breaks because of something done in the desktop client/loot-core. I want to try and prevent that with Playwright. This PR will run the desktop app in the CI and check that the app starts up properly.

We already have playwright testing for the desktop-client. I'm not trying to duplicate those here. This is purely to provide an early warning to let us know the desktop app isn't working properly.

I've noticed most of the issues with Electron are present when:

  • Budget is being downloaded
  • Budget is being opened
  • Budget is being closed
  • Budget is being exported

I think this Playwright integration will allow us to test all of that.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/4674 **Author:** [@MikesGlitch](https://github.com/MikesGlitch) **Created:** 3/21/2025 **Status:** ✅ Merged **Merged:** 4/5/2025 **Merged by:** [@MikesGlitch](https://github.com/MikesGlitch) **Base:** `master` ← **Head:** `electron/playwright` --- ### 📝 Commits (10+) - [`4d07a7b`](https://github.com/actualbudget/actual/commit/4d07a7bc1e447fb91922a8682238f88c1abd51c6) playwright testing for electron - [`e3f8e66`](https://github.com/actualbudget/actual/commit/e3f8e66fa7267217565893d4fa215f48cd1995b5) pipeline updates - [`f343fce`](https://github.com/actualbudget/actual/commit/f343fce709905991db7caaffb42ea97d27a1baa6) fix normal e2e scripts - [`ec48cdd`](https://github.com/actualbudget/actual/commit/ec48cdd0296902860ed89345af5080cb6539b7e7) fix path to artifact - [`46469ee`](https://github.com/actualbudget/actual/commit/46469ee5e22da7df0af30e9fe6e42fdcffb4e38c) listing out whats there - [`3e655be`](https://github.com/actualbudget/actual/commit/3e655bee375df6fddda7457a81af416b1b69ce33) attempt to fix ci - [`44138e9`](https://github.com/actualbudget/actual/commit/44138e915f31ccfe650b20b51a36cbf393d959f6) umm - [`43aafae`](https://github.com/actualbudget/actual/commit/43aafaef2cf258ca40bb5dca20c7a54b8fe0b8d0) again - [`867b22a`](https://github.com/actualbudget/actual/commit/867b22a623532c103ea5efa4266811e3a6d4f53d) setting a viewport - [`4401898`](https://github.com/actualbudget/actual/commit/4401898cb69dc9bdc5c6c19a76710f40582e81d9) window size to be consistent across machine for tests ### 📊 Changes **15 files changed** (+130 additions, -32 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/e2e-test.yml` (+21 -0) 📝 `.github/workflows/update-vrt.yml` (+4 -4) 📝 `bin/package-electron` (+20 -19) 📝 `package.json` (+2 -1) ➕ `packages/desktop-electron/.gitignore` (+5 -0) ➕ `packages/desktop-electron/e2e/__screenshots__/onboarding.test.ts/Onboarding-checks-the-page-visuals-1-linux.png` (+0 -0) ➕ `packages/desktop-electron/e2e/data/.gitkeep` (+0 -0) ➕ `packages/desktop-electron/e2e/onboarding.test.ts` (+20 -0) 📝 `packages/desktop-electron/index.ts` (+15 -6) 📝 `packages/desktop-electron/package.json` (+3 -1) ➕ `packages/desktop-electron/playwright.config.ts` (+22 -0) 📝 `packages/desktop-electron/tsconfig.dist.json` (+1 -1) 📝 `packages/desktop-electron/window-state.ts` (+10 -0) ➕ `upcoming-release-notes/4674.md` (+6 -0) 📝 `yarn.lock` (+1 -0) </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> # Why We keep running into issues where Electron breaks because of something done in the desktop client/loot-core. I want to try and prevent that with Playwright. This PR will run the desktop app in the CI and check that the app starts up properly. We already have playwright testing for the desktop-client. I'm not trying to duplicate those here. This is purely to provide an early warning to let us know the desktop app isn't working properly. I've noticed most of the issues with Electron are present when: - Budget is being downloaded - Budget is being opened - Budget is being closed - Budget is being exported I think this Playwright integration will allow us to test all of that. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 21:13:52 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#5527