plum Svelte Themes

Plum

A detached test automation environment that combines Playwright and Cucumber with a Svelte frontend and an Express backend. It allows users to trigger tests, monitor reports, and schedule test runs through an intuitive UI.

šŸ“– Wiki | šŸ“¦ npm

Welcome to Plum!

Plum makes setting up your testing framework easy. In just a few seconds, you can run the scaffold tests and write your own tests!

By combining Playwright and Cucumber, tests are easy to write and read. The code follows a POM (Page Object Model) structure, making it scalable and easy for developers to understand, while Cucumber test cases are written in Gherkin format, making them accessible to non-developers as well.

You can view, run, and schedule tests in a simple UI. You can even view the history of your runs in the reports page!

Pre-requisite:

  1. Install Docker and ensure the Docker daemon is running.

For Users

People that want to use Plum as a test environment for their website.

I. How to Run:

  1. npm install -g plum-e2e
  2. Create your project directory. Example: mkdir my-test-folder
  3. Go inside the folder you created cd my-test-folder
  4. Run plum init
    1. This will initialize Plum and will create your base files:
      1. \tests folder: This include sample test cases for SauceLabs
      2. .env file: Your starting .env file. You can set the BASE_URL to your own site after you're done with the scaffold tests.
  5. There are two ways to start testing:
    1. By running the server. Run:
      plum start to start the server
    2. Without running the server. Recommended while you're writing your tests. Run:
      plum dev <@test-id>. If no test ID is included, it will run all tests

Basic Structure

After you run plum init, these files will be created inside your project directory.

╠═ tests
ā•‘  ╠═ features         : Cucumber feature files, contains your test cases
ā•‘  ╠═ step_definitions : Reference to steps in the feature files
ā•‘  ╠═ pages            : Contains functions used in step_definitions
ā•‘  ā•šā• utils            : Utility files (Constants, utility codes, etc.)
ā•šā• env.                : Your .env file

Tutorial

  1. For a complete guide on how to write tests, visit our Wiki
  2. An easy way to learn is to check the scaffold files starting from the Feature files -> Step Definitions -> Page files and utils/hooks.js for the CustomWorld and Before hook page class initialization. Those are the main files you need to write a test case.

For Developers/Contributors

For people that want to contribute to the project

  1. Clone the project git clone https://github.com/silverlunah/plum.git
  2. cd plum
  3. Initialize the project by:
    npm run init
  4. Check if its running:
    docker compose up --build -d

Other

Plum is completely free to use! But if you want to share some love, here's my PayPal or Wise

Top categories

Loading Svelte Themes