An open API service indexing awesome lists of open source software.

https://github.com/uilicious/uilicious

User journey test automation for the Modern Web
https://github.com/uilicious/uilicious

browser-automation e2e-monitoring e2e-testing end-to-end-testing javascript test-automation testing-tools web-testing

Last synced: 7 months ago
JSON representation

User journey test automation for the Modern Web

Awesome Lists containing this project

README

          

# UI-licious

[__Website__](https://uilicious.com) | [Docs](https://docs.uilicious.com/) | [Roadmap](https://trello.com/b/G80eoZU3) | [Change Log](https://docs.uilicious.com/release_notes.html) | [Contact Support](mailto:support@uilicious.com)

UI-licious is a tool to automate user journey testing for your website on different browsers and resolutions.

![UI-licious Snippet Preview](./img/uilicious-snippet-preview.png)

__Example__:

Here's an example to test the Github's Login flow

```javascript
I.goTo("https://github.com")
I.click("Sign up")
I.see("Join GitHub")
I.fill("Username", "brucewayne")
I.fill("Email", "bruce@waynecorp.com")
I.fill("Password", "supersecretpassword")
I.click("Create an account")
```

[▶️ Run this test](https://snippet.uilicious.com/test/public/XRYw8i91TTo9qtX4jgJUYm)

## How is it different from other testing libraries or tools?

__UI-licious is a high-level testing language, designed to be written and read by humans.__

Unlike other testing libraries or tools, which relies either hard-coding CSS and XPATH selectors into the tests *(or on the front-end developers writing The Perfect UI code)*, UI-licious tests are designed to work regardless of how the UI is implemented.

UI-licious uses dynamic code analysis on your website to evaluate best matches for the target element of the given command based on the semantics of the HTML code and the context of preceding test commands. Your UI code doesn't not have to be perfect, but UI-licious works most accurately when the website uses semantic HTML and ARIA accessibily attributes.

At best, you can write tests that are meaningful, robust, reusable, and easy to maintain.

If not, UI-licious still support CSS and XPATH as a fallback.

## What front-end does UI-licious support?

React, Vue, Angular, Polymer, EmberJs, KnockoutJs, JQuery, Vanilla...

UI-licious works on any front-end! UI-licious works on good old static sites, server-sider rendered and modern SPA applications.

Check out examples for: [React](https://uilicious.com/explore/react-framework.html) | [Vue](https://uilicious.com/explore/vue-framework.html) | [Angular](https://uilicious.com/explore/angular-framework.html) | [All](https://uilicious.com/explore)

## Supported browsers
- Chrome
- Firefox
- Safari
- Microsoft Edge
- Internet Explorer 11

## Installation

There's none!

Head over here to create your first test: [https://snippet.uilicious.com](https://snippet.uilicious.com)

## Get Started

You can start with the tutorial on [https://snippet.uilicious.com](https://snippet.uilicious.com), or [Read the Docs](https://docs.uilicious.com).

[List of commands](https://docs.uilicious.com/scripting/list_of_commands.html)

## Testing localhost / internal applications

If you are not using a self-hosted version of UI-licious, you can use services like [ngrok](https://ngrok.com/) to temporarily expose your application to a secure public url.

## ✨ What's UI-licious Studio?

UI-licious Studio is the professional edition of UI-licious, with advanced features such as:
- __Projects__ to organise and manage tests and reports
- __Datasets__ to manage sensitive test data and quickly swap test data between tests
- __Jobs__ to schedule tests and setup error alerts

[View plans and pricing](https://uilicious.com/pricing.html)

## ✨ Command Line Interface

> You need to have a UI-licious Studio account to use the Command Line Interface

![UI-licious CLI - Run a Test Example](./img/uilicious-cli-run-example.png)

You can execute UI-licious tests using the CLI. This allows you hook tests into your deployment build within your CI/CD tools.

[Read the Docs](https://github.com/uilicious/uilicious-cli)

## FAQs

__Is UI-licious open-source?__

No.

__Is UI-licious based on Selenium?__

Yes in the sense that UI-licious is built on the standard [WC3 Webdriver Protocol](https://www.w3.org/TR/webdriver1/) for Browser Automation, which is based off the Selenium project.

__Is there a self-hosted edition?__

Please [contact us](mailto:sales@uilicious.com) for a commercial license to self-host UI-licious on your servers.