Skip to content

jaredloomis/declare

Repository files navigation

Declare QA

Declare QA Logo

Declare QA makes it easy for anyone to create robust website tests without code! Declare's powerful visual interface handles the details of creating dependable tests, so you can focus on testing the functionality of your product.

Design & Implementation Slideshow: Google Docs

Most automated testing platforms provide little in the way of test maintenance tools. Tests break often and are time consuming to repair, wasting time that could be spent creating new tests. This leads to many automation projects falling into a cycle of perpetual maintenance, unable to test new functionality without losing coverage to flakiness.

Declare solves this by introducing tools for reducing duplicated functionality and improving organization of tests.

Powerful Page Navigation

Declare Page Link

Declare eliminates the need for writing test steps to navigate between pages. With the concept of links between pages, you describe how to get from page to page. Declare handles the rest.

Intuitive Page-Based Test Management

Declare Page List

With Declare, organizing your tests cases is dead simple, even as these test cases grow. Tests are grouped by page for automatic organization.

Stable Tests with the Power of Saved Elements Selectors

Declare Elements

Declare's saved elements make test maintenance a snap! Element selectors are stored in an organized list, which is customizable to allow for increased clarity.

Simple Installation

Declare can be installed on multiple nodes as a distributed system, but can be easily installed on any compute, whether in the cloud or on a physical machine.

The "full" installation architecture of the application comprises two node types (running on EC2 instances, for example), with a third acting as a database.

This document describes how to install all components on a single system.

Installing Dependencies

  • nginx running as a service (systemctl start nginx)
  • mongodb running as a service (systemctl start mongodb)
  • node installed and in PATH
  • gulp installed and in PATH
  • yarn installed and in PATH

Running the server

Download the source code from git, then run the server! This may take a few minutes to download additional dependencies.

$ git clone https://github.com/jaredloomis/declare
$ cd declare
$ yarn run start

Your server is now running on port 3000!

Remote Installation

If you are running Declare on a cloud server, you need to set up an nginx reverse proxy to proxy requests coming from public port 80, to your server running on port 3000.

$ sudo bash scripts/register_nginx_proxy.sh

Now your server can receive outside requests.

Server controls

The server can be restarted or stopped

$ yarn run restart
$ yarn run stop

Technology Stack

  • Node.js handles all backend compute

  • GraphQL is the client-server communication protocol

  • React.js for all frontend rendering

  • Redux to manage frontend state

  • SASS and Bulma keep things pretty

  • Selenium runs tests in a chrome browser

  • nginx proxies requests from the outside world

  • webpack is responsible for building the client

  • gulp builds the server

Contribute

I will graciously accept any contributions, and may be able to provide minimal compensation as an added plus (contact me). Please see the public Trello board.

About

Node.js/React.js platform for creating automated web tests without code

Topics

Resources

License

Stars

Watchers

Forks