plum-e2e
v1.0.6
Published
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.
Readme
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:
- 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:
npm install -g plum-e2e- Create your project directory. Example:
mkdir my-test-folder - Go inside the folder you created
cd my-test-folder - Run
plum init- This will initialize Plum and will create your base files:
\testsfolder: This include sample test cases for SauceLabs.envfile: Your starting .env file. You can set the BASE_URL to your own site after you're done with the scaffold tests.
- This will initialize Plum and will create your base files:
- There are two ways to start testing:
- By running the server. Run:
plum startto start the server- Access the UI at: http://localhost:5173/
- 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
- By running the server. Run:
Basic Structure
After you run plum init, these files will be created inside your project directory.
Tutorial
- For a complete guide on how to write tests, visit our Coming Soon
- An easy way to learn is to check the scaffold files starting from the Feature files -> Step Definitions -> Page files and utils/world.ts for the CustomWorld 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
- Clone the project
git clone https://github.com/silverlunah/plum.git cd plum- Initialize the project by:
npm run init - 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
