@uuv/assistant
Test as final user
A solution to facilitate the writing and execution of E2E tests understandable by any human being(English or French) using cucumber(BDD) and cypress or playwright.
What is @uuv/assistant ?
@uuv library (User centric Usecases Validator) is an ecosystem that simplifies the writing of End to End tests in a BDD approach and a user-centric way.
With @uuv/assistant, we can generate cucumber sentences that will use an execution engine like cypress with @uuv/cypress or playwright with @uuv/playwright.
Benefits
- If used correctly, integrates accessibility from the development stage
- A living documentation is possible because we propose an unified language for developers and non-developers with a rich dictionary of ready-to-use sentences
- @uuv/assistant that facilitates the writing of tests by suggesting the most accessible sentences
- JetBrains Plugin that helps you to write and execute your UUV E2E tests from JetBrains IDEs
- Integrates several runtime engines: Cypress / Playwright
- User friendly and standardized execution report([example](https://e2e-test-quest.github.io/kata-e2e-uuv/
Comparison
| Criteria | Cypress | Playwright | Testing library | UUV |
|:-: |:-: |:-: |:-: |:-: |
| User centrism | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Native accessibility | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Easy setup configuration for BDD test | :warning: | :warning: | :heavy_minus_sign: | :heavy_check_mark: |
| Understandable by everyone
(included non dev) | :x: | :x: | :x: | :heavy_check_mark: |
Syntax example
With this dom example :
<body>
<h1>Result<h1>
</body>
we see that the sentence proposed by UUV is the most understandable of all | Library | Syntax | |:--|:--| | Cypress | cy.get('h1').contains('Result') | | Playwright| await expect(page.getByTitle('Result')).toHaveCount(1) | | Testing library | expect(screen.getByTitle(/Result/i)).toBeTruthy() | | UUV | Then I should see a title named "Result"|
Documentation
Screenshots
Online demo
Installation
NPM Package
npm install --save-dev @uuv/assistant
or
yarn add -D @uuv/assistant
Desktop executable
Usage
NPM Package
To launch uuv assistant :
npx uuv-assistant --targetUrl=<targetUrl>
| Name | Description | Example |
|---|---|---|
targetUrl |
Target website url | https://e2e-test-quest.github.io/uuv/ |
Desktop executable
Execute uuv-assistant.exe from the unzipped folder
Scenario examples
You can find test examples here : weather-app.feature
The dictionary is available in french and english. It can be accessed with this link:
License
This project is licensed under the terms of the MIT license.
Support UUV through Open Collective
If you want to help UUV grow, you can fund the project directly via Open Collective.
Every contribution helps us dedicate more time and energy to improving this open-source tool.
Interested in becoming a sponsor?
We welcome sponsorships of all sizes!
Contact us via GitHub or through Open Collective to discuss opportunities.

