Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/yamsafer/reflow

Fully Automated E2E Testing Infrastructure
https://github.com/yamsafer/reflow

android appium browsers e2e-testing ios mochajs nodejs testing-framework

Last synced: 2 months ago
JSON representation

Fully Automated E2E Testing Infrastructure

Awesome Lists containing this project

README

        


reflow logo


The Framework for Complete Automated E2E Testing.


Coverage Status

Maintained with Lerna

## Intro

> This Framework is still in its early stages of active development.

Reflow is a framework to writing e2e tests for enterprise projects. Huge efforts and time are being committed on this project to bring it to maturity. Currently, the only way to use this project is to dig into the code and the `README` files of each package.

The Main testing tool `reflow|core` is built on top of [Mocha](https://github.com/mochajs/mocha) ❤️.

## Getting Started

```
$ npm install
$ npm run lerna:bootstrap
```

### Reflow Architecture



reflow architecture

### Components

Reflow is made to work at scale. Each individual component of the framework is designed to work in a distributed environment and scale individually.

Board:
- reflow|board: a board to display e2e projects, jobs, flows, and test results.

Hub:
- reflow|grid: connects and manages devices. currently uses selenium hub.

Client Nodes:
- reflow|appium: a wrapper around appium to discover and connect iOS and android devices to reflow|grid.

Storage:
- reflow|cassandra-connection: express middleware to persist test results to Cassandra.

Circuit:
- reflow|circuit: an express middleware providing graphQL api to query and save test results.

E2E Project:
- reflow|core: a wrapper on top of mocha, connects to the client, provides test flows, and manages multi-flows to run across devices or in multi-threads.
- reflow|reporter: a custom mocha reporter for running projects.
- reflow|page-objects: manage page objects in e2e projects.
- reflow|cli: the command line interface to run the e2e project.
- reflow|client: provides the client api of the connected device.

## License

[MIT](LICENSE)