/might-cli

A no-code solution for performing web front-end end-to-end tests

Primary LanguageTypeScriptMIT LicenseMIT

npm (tag)

End-to-end frontend testing can get very complicated and overwhelming; especially if you need to start testing huge apps, that would take a lot of time and afford, and will be boring and repetitive.

The Solution

A no-code method to perform and manage frontend tests, handling all of the mess in the background.

Might UI is an easy way to create, manage and edit tests, and Might CLI runs those tests.

Installation

npm install --save-dev might-cli

yarn add --dev might-cli

Migrations

Usage

npx might
yarn might

When you run the command for the first time, it will walk you through all the things you need to configure:

  1. You will be asked to set a command that starts the development server of your app, it's spawned before testing begins and terminated after the testing is done (optional).
  2. The URL of the app (required).

More optional configurations are available in might.config.json, which will be automatically generated after you finish those prompts.


Now you have to create a few tests to run, tests are described inside a file called might.map.json, the easiest way to create tests is with the help of Might UI.

Run npx might -m or yarn might -m to open the UI regardless of it's installed or not;

If you really want to write tests manually (not recommended) look at map.md.

Might UI In Action:


Now that you have at least one test in might.map.json.

The first time each individual test is performed, its outcome (after all the steps) is screenshotted and saved inside a folder in your project directory.

When the test is performed for a second time, a new screenshot is compared with the first screenshot, if both match the test passes, but if they mismatch the test fails and an error diff-image will be created to show the difference between both screenshots).


Run npx might -h or yarn might -h to see additional information about how to run specific tests and skip the rest, how to update failed tests, how to control the amount of parallel tests, and how to get a coverage report.


Running Might in CI

Please use this Docker image or this GitHub Action.

And here's an example of a project using Might with Github Actions.


What can I test?

  • Waiting
  • Changing the Viewport
  • Going to Different Pages
  • Setting Media Features
  • Keypresses
  • Hovering
  • Clicking
  • Dragging Elements
  • Swiping the Screen
  • Typing

Want a feature that we don't have yet?

Any feature requests related to the UI should be requested there.