Skip to content
Tomasz Kaik edited this page Aug 19, 2019 · 6 revisions

FAQ

This section contains answers to frequently asked questions. If you can't find an answer to your question here please use the Issues Tool to raise it.

1. Setup and first steps

1.1. What do I need to start using AET?

You need Maven and Java installed to run AET and Chrome browser to see reports if you have AET environment already set up. See more information in Running Suite section. To setup AET you need VirtualBox 5.2.18 to run AET VM. See more details in Basic Setup section.

1.2. I have an AET environment, how can I run tests?

You need the AET shell script to run AET and the Google Chrome browser to see reports. See more information in Running Suite section. To start AET suite you need 2 files:

To run the suite simply execute this command:

./aet.sh <endpoint> [<suite_file_name>]

from the directory where you have the two files mentioned above.

Next, you will see processing progress. After a SUCCESSFUL BUILD open redirect.html in the Google Chrome browser file to see the report.

1.3. How can I integrate AET with continuous integration tools?

AET tests are triggered by the AET shell script. Thanks to this you may simply run ./aet.sh <endpoint> [<suite_file_name>] from your favourite CI tool (e.g. Jenkins or Bamboo).

1.4. I'm running AET for the first time. How will the tool know the patterns?

When running AET for the first time AET has no patterns. The first collected screenshots will be treated as patterns, so the first run will detect no changes. The same is true when a new test or url is added to already existing suite - new records will have patterns collected during the first suite run.

1.5. I would like to run my suite from my Windows machine and use some endpoint that is not my localhost. I get the unsuccessful status request with the code: 401. What should I do?

When running tests from Windows there can be a problem with jq. The solution can be to run the same test from WSL (Windows Subsystem for Linux, e.g. Ubuntu).


2. Environment and software

2.1. Which browser is used by AET?

AET currently makes use of Google Chrome. Information about current versions of components used by AET can be found in Third-party software used by system section.

2.2. Does AET use database for storing data?

Yes, AET uses MongoDB where all data collected during AET suite processing is stored.

2.3. I have a problem with missing fonts (my page is not English). What should I do?

You can add custom fonts to AET virtual machine. To do so, place desired fonts inside usr/share/fonts or /usr/share/fonts/truetype directories, AET's FireFox should use them. Other idea is to install fonts with e.g.: yum groupinstall chinese-support yum groupinstall arabic-support See more details in answers for this AET question.

2.4. What do I need the REST proxy for?

The REST proxy is required if you want to:

  • test [Status codes|StatusCodesCollector],
  • modify headers with the [Header modifier|HeaderModifier].

3. User interface and reports

3.1 What browser should I use to browse AET reports?

AET reports are dedicated and tested with Google Chrome browser, however they should also work fine with other modern browsers like Mozilla FireFox or Microsoft Edge.

3.2 I would like to compare pages between two environments/domains. How can I do that with the AET Tool?

The AET System enables comparison of the same page (set of pages) between different environments (domains). To do so, simply change domain parameter (either by change in suite definition or using aet run command) when running following tests. All data collected during those suite runs will be compared with the same patterns (which are independent of domain attribute).

3.3 How can I access pages that require authentication to enter?

There are two possible solutions. For the Basic Authentication you may use Header Modifier with Authorization key set:

<header key="Authorization" value="Basic emVuT2FyZXVuOnozbkdAckQZbiE=" />

The string in value is base64 encoded username:password string. The other way is to use Login Modifier that can pass simple login form.

3.4 How can I simulate another user agent?

Use Header Modifier to achieve that. Just add header modifier with key 'User-Agent' and requested value.

3.5 What can I do with elements that render differently each time a page is opened and it occurs in changes detected each time?

Use Hide Modifier to hide those elements with css or xpath selectors.

3.6 I want to check how my page behaves on mobile devices, how can I do that?

AET is not integrated with mobile devices. However, you may simulate mobile resolution and check if your page changes its rendering breakpoints for different resolutions. Use Resolution Modifier to simulate different resolutions.

3.7 How to get the latest report for the AET test suite?

AET report are accessible by an URL with suite execution identifier passed in query string, i.e.:

http://localhost:8181/report/report.html?company=aet&project=aet&correlationId=aet-main-1234567890

In the example above the latest version of suite with correlation ID of aet-main-1234567890. To see tha last version of suite without knowing correlationId use the URL of following form:

http://localhost:8181/report/report.html?company=<company>&project=<project>&suite=<suite>

i.e.:

http://localhost:8181/report/report.html?company=aet&project=aet&suite=main

4. Best practices

4.1 I want to check how my page looks on several devices - what is the best way do configure a suite?

You may configure several Resolution Modifiers and Screen Collectors within single <collect> phase. Please remember that it is a good practice to give tested page the time to adjust after changing the resolution and before collecting a screenshot. Example test configuration may look like this:

<collect>
	<open/>
	<wait-for-page-loaded />
	<resolution width="1280" height="1024"/>
	<sleep duration="1000"/>
	<screen  name="desktop"/>
	<resolution width="320" height="480"/>
	<sleep duration="1000"/>
	<screen  name="mobile"/>
</collect>

5. Technology

5.1. What technology does AET make use of?

The technology that AET makes use of comprises:

  • Java 8 (with Apache Camel, jUnit 4, Mockito)
  • Apache Karaf (OSGi)
  • Apache ActiveMQ (JMS)
  • MongoDB (NoSQL DB)
  • Browsermob (HTTP Proxy)
  • Selenium (Grid with Hub and Chrome nodes)
  • Chef (cookbooks + Vagrant local instance on Oracle VirtualBox - see AET Cookbook
  • Docker (with example Docker Swarm cluster config) - see AET Docker
  • AngularJS (Report app)
Clone this wiki locally