AET - a system that detects changes on web sites and performs basic page health check
Clone or download
Latest commit 75bc334 Dec 21, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update PULL_REQUEST_TEMPLATE.md Nov 19, 2018
api [maven-release-plugin] prepare for next development iteration Dec 21, 2018
client [maven-release-plugin] prepare for next development iteration Dec 21, 2018
core [maven-release-plugin] prepare for next development iteration Dec 21, 2018
documentation updated documentation Dec 21, 2018
integration-tests [maven-release-plugin] prepare for next development iteration Dec 21, 2018
misc Merge branch 'master' into plugins-upgrade Nov 27, 2018
osgi-dependencies [maven-release-plugin] prepare for next development iteration Dec 21, 2018
report [maven-release-plugin] prepare for next development iteration Dec 21, 2018
rest-endpoint [maven-release-plugin] prepare for next development iteration Dec 21, 2018
test-executor [maven-release-plugin] prepare for next development iteration Dec 21, 2018
vagrant prepare CHANGLOG.md & Vagrantfile for new version Dec 21, 2018
zip [maven-release-plugin] prepare for next development iteration Dec 21, 2018
.gitignore more cleaning Aug 31, 2018
.travis.yml changing to sudo: required in order for travis to download maven bund… Aug 29, 2018
CHANGELOG.md prepare CHANGLOG.md & Vagrantfile for new version Dec 21, 2018
CODE_OF_CONDUCT.md Update community files: code of conduct, issue templates Nov 7, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Nov 27, 2018
LICENSE 2.0.0 version Open Sourcing Sep 20, 2016
NOTICE Sidepanel focus follows active report (#226) Feb 23, 2018
README.md Update README.md Aug 21, 2018
eclipse-java-google-style.xml java formatting style configurations (#192) Jan 5, 2018
intellij-java-google-style.xml java formatting style configurations (#192) Jan 5, 2018
license-template 2.0.0 version Open Sourcing Sep 20, 2016
pom.xml [maven-release-plugin] prepare for next development iteration Dec 21, 2018

README.md

Cognifide logo

Build Status Apache License, Version 2.0

AET

AET Logo

AET is a system that detects changes on web sites and performs basic page health check (like w3c compliance, accessibility check and other). AET is designed as a flexible system that can be adapted and tailored to the regression requirements of a given project. The tool has been developed to aid front end client side layout regression testing of websites or portfolios. In essence assessing the impact or change of a website from one snapshot to the next.

What's the philosophy behind AET?

AET helps testers to ensure that a change in one part of the software has not introduced new defects in other parts of the software.

AET is suited for

  • monitoring regression across large digital web platforms,
  • managing visual changes across digital platform after changing common component (e.g. footer),
  • regression tests at the end of an Hourly/Daily/Weekly/Per Sprint Completion,
  • as part of an upgrade or migration process of a platform.

A typical scenario of use

  1. The AET user (Developer or QA) baselines a set of components or pages with URLs as an input to the tool.
  2. The CMS user changes the page component or content.
  3. The ‘current baseline’ is used to compare with the ‘new version’ and the change is assessed for one of the 3 possibilities:
  • There are no changes - no involvement required.
  • There is a change but the user accepts it, which means she/he re-baselines.
  • There is a change and the user does not accept it, so she/he has to fix it.
  1. AET produces a report.

AET is not about

  • functional testing - checkout another Cognifide's testing framework: Bobcat for functional testing,
  • cross-browser testing,
  • usability testing,
  • security or server-side performance.

What's inside?

AET uses several tools and frameworks that are used to check page quality in following areas:

  • Full page screenshots comparison using Firefox browser to render page and Selenium to capture screenshots.
    • Hiding Page Items by xpath,
    • Changing screen resolution (width/height setup),
  • Compare page sources.
  • Compare page source W3C compliance using nu.validator.
  • Check js errors with JSErrorCollector.
  • Check status codes using BrowserMob Proxy.
  • Check page accessibility with HTML_CodeSniffer.
  • Check and modify page cookies.
  • Check page client side performance using YSlow.

AET architecture

The AET System consists of 7 units:

  • Client (AET Maven Plugin)
  • Runner cluster
  • Worker cluster
  • JMS Server
  • Database
  • REST API
  • Reports web application

aet-architecture

Thanks to using AET Maven Plugin as a Client application, AET is easy to integrate with CI Tools like Jenkins or Bamboo.

How to start

Please see our AET in 10 minutes guide to start using AET.

To run AET tests the following tools are required:

Setup

Please refer to the Setup Guide in the documentation for an overview on how to configure AET.

License

AET is licensed under Apache License, Version 2.0 (the "License")

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues. Please notice we use ZenHub extension to manage issues.

Documentation

Contact and Commercial Support

If you have any questions or require technical support please contact us at aet@cognifide.com. Gitter Chat is a way for users to chat with the AET community. Feel free to leave a message, even if we’re not around, we will definitely respond to you when available.