@uuv/assistant
Test as final user
Make test writing fast, understandable by any human understanding English or French.
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
- Integrates several runtime engines: Cypress / Playwright
- User-friendly and standardized execution report
Comparison
Criteria | Cypress | Playwright | Testing library | UUV |
---|---|---|---|---|
User centrism | ❌ | ✔️ | ✔️ | ✔️ |
Native accessibility | ❌ | ✔️ | ✔️ | ✔️ |
Easy setup configuration for BDD test | ➖ | ✔️ | ||
Understandable by everyone (included non dev) | ❌ | ❌ | ❌ | ✔️ |
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('result').should('exist') |
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
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 this tool, we can generate cucumber sentences that will use an execution engine like cypress with @uuv/cypress or playwright with @uuv/playwright.
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://orange-opensource.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.