Skip to content

Repository files navigation

eslint-plugin-ui-testing

Build Status

ESLint plugin that helps following best practices when writing UI tests. It supports the following automation tools (in alphabetical order):

  • Cypress
  • Playwright
  • Puppeteer
  • TestCafe
  • WebdriverIO

Usage

Prerequisite:

  • ESLint is installed (npm i eslint --save-dev)
  1. Install eslint-plugin-ui-testing:
npm i eslint-plugin-ui-testing --save-dev
  1. Add the ui-testing plugin to the .eslintrc configuration file.
{
"plugins": ["ui-testing"]
}
  1. Configure the rules as follows by using the recommended ruleset per automation tool. Choose one from:
  • 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"]
}

Customization

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
}
}
  • In case you are using a recommended ruleset as described in step 3 (under Usage), then these customized rules will override the default.
  • It is also possible to omit the recommended ruleset and just set each rule specifically as above.

Overview rules

RuleDefaultRuleset
missing-assertion-in-testerrorrecommended-badge
no-absolute-urlwarncypress-badgewebdriverio-badge
no-assertions-in-hookserrorrecommended-badge
no-browser-commands-in-testswarnplaywright-badgepuppeteer-badgewebdriverio-badge
no-css-page-layout-selectorerrorcypress-badgeplaywright-badgepuppeteer-badgetestcafe-badgewebdriverio-badge
no-disabled-testswarnrecommended-badge
no-focused-testswarnrecommended-badge
no-hard-waiterrorcypress-badgeplaywright-badgepuppeteer-badgetestcafe-badgewebdriverio-badge
no-implicit-waiterrorwebdriverio-badge
no-link-text-selectorerrorwebdriverio-badge
no-tag-name-selectorerrorwebdriverio-badge
no-wait-in-testswarnplaywright-badgepuppeteer-badgetestcafe-badgewebdriverio-badge
no-xpath-page-layout-selectorerrorwebdriverio-badge
no-xpath-selectorwarnwebdriverio-badge

Note: All automation tool specific rulesets include the recommended ruleset.

About

ESLint plugin that helps following best practices when writing UI tests

Resources

Stars

32 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages