initial e2e code infra and tests remove unnecessary files Revert yarn.lock to match master delete load sql db for postgres revert yarn.lock remove accidental changes add line at EOF re-add yarn.lock Revert yarn.lock to match master add line at EOF add more text and ResultPane selectors add tests to table side bars, table creation and deletion tests refactoring clean up & activate gha actions again attempting to fix e2e ci update build step gha adjustments update package.json fixing ci attempt attempt to fix ci attempt to fix action attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci
1.5 KiB
End-to-End (E2E) Testing
This folder contains all the end-to-end tests for our Electron application, ensuring that key workflows function as expected.
Running the Tests Locally
To execute the tests locally, follow these steps:
- Start the Electron app in one terminal window:
yarn run electron:serve - Run the E2E tests in another terminal window:
yarn run test:e2e
Project Structure
The E2E tests are organized into the following folders:
pageComponents/
This folder contains Page Object Model (POM) files, which we call components. These files define the locators for UI elements but do not contain any logic for user interactions.
pageActions/
This folder contains actions that users can perform using the components from the pageComponents folder. These actions encapsulate user interactions like filling in forms, clicking buttons, and navigating through the app.
tests/
This folder contains the actual test cases. The tests use the userAttemptsTo object to execute actions from the pageActions folder, making the test scripts clean and readable.
Best Practices
- Keep selectors inside the
pageComponentsfolder. - Keep user interactions inside the
pageActionsfolder. - Use the
userAttemptsToobject in tests to maintain clean and structured test cases. - Run tests frequently to catch regressions early.
Feel free to reach out if you have any questions or suggestions for improving the test structure!