Files
beekeeper-studio/apps/studio/e2e/README.md
JeanPaiva42 f6fd7f88e4 initial e2e testing attempt
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
2025-05-28 17:03:31 +02:00

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:

  1. Start the Electron app in one terminal window:
    yarn run electron:serve
    
  2. 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 pageComponents folder.
  • Keep user interactions inside the pageActions folder.
  • Use the userAttemptsTo object 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!