ESLint plugin that helps following best practices when writing UI tests
MIT License
ESLint plugin that helps following best practices when writing UI tests. It supports the following automation tools (in alphabetical order):
Prerequisite:
npm i eslint --save-dev
)eslint-plugin-ui-testing
:npm i eslint-plugin-ui-testing --save-dev
ui-testing
plugin to the .eslintrc
configuration file.{
"plugins": ["ui-testing"]
}
plugin:ui-testing/cypress
plugin:ui-testing/playwright
plugin:ui-testing/puppeteer
plugin:ui-testing/testcafe
plugin:ui-testing/webdriverio
Example:
{
"extends": ["plugin:ui-testing/webdriverio"]
}
You can customize specific rules in the .eslintrc
configuration file.
{
"rules": {
"ui-testing/no-disabled-tests": "error", // default = warn
"ui-testing/no-css-page-layout-selector": ["warn", "webdriverio"] // default = error
}
}
3
(under Usage
), then these customized rules will override the default.Rule | Default | Ruleset |
---|---|---|
missing-assertion-in-test | error |
|
no-absolute-url | warn |
|
no-assertions-in-hooks | error |
|
no-browser-commands-in-tests | warn |
|
no-css-page-layout-selector | error |
|
no-disabled-tests | warn |
|
no-focused-tests | warn |
|
no-hard-wait | error |
|
no-implicit-wait | error |
|
no-link-text-selector | error |
|
no-tag-name-selector | error |
|
no-wait-in-tests | warn |
|
no-xpath-page-layout-selector | error |
|
no-xpath-selector | warn |
Note: All automation tool specific rulesets include the recommended ruleset.