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.
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.
With Declare, organizing your tests cases is dead simple, even as these test cases grow. Tests are grouped by page for automatic organization.
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.
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
nginxrunning as a service (systemctl start nginx)mongodbrunning as a service (systemctl start mongodb)nodeinstalled and inPATHgulpinstalled and inPATHyarninstalled and inPATH
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 startYour 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.shNow your server can receive outside requests.
The server can be restarted or stopped
$ yarn run restart
$ yarn run stop-
Node.js handles all backend compute
-
GraphQL is the client-server communication protocol
-
React.js for all frontend rendering
-
Redux to manage frontend state
-
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
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.



