FAQ - alandiaz08/e2e-web-framework GitHub Wiki

What is a page object?

Page Object is a Design Pattern which has become popular in test automation for enhancing test maintenance and reducing code duplication. A page object is an object-oriented class that serves as an interface to a page of your AUT. The tests then use the methods of this page object class whenever they need to interact with the UI of that page. The benefit is that if the UI changes for the page, the tests themselves don’t need to change, only the code within the page object needs to change. Subsequently all changes to support that new UI are located in one place.

More information:

What features are tested?

  • The list of WNG test can be found here
  • The list of TFM test can be found here

Selenium or Zalenium?

Selenium

Selenium is a framework for testing web applications. Selenium automates browsers. That's it!

In our framework we use the Selenium WebDriver with Java bindings to automate Google Chrome and Firefox. We also use the Selenium Grid to run the tests in Jenkins, although, the tests can also be executed without the Selenium Grid in your computer.

Selenium home page

Zalenium

Zalenium is a flexible and scalable container based Selenium Grid with video recording, live preview, basic auth & dashboard.

We use Zalenium to extend the capabilities of Selenium Grid when running the tests in Jenkins. This allows us to create recordings of the test executions.

Zalenium home page

Can I record the tests locally?

Yes! First you need to start locally the zalenium grid.

docker-compose up -d

Then, pass the -DgridUrl argument to the test runner, either with gradle on the command line or in IntelliJ as shown below:

Command line argument

./gradlew test -Dbrowser=chrome -DgridURL=http://127.0.0.1:4444/wd/hub

IntelliJ configuration

GridURL

After starting the grid and configuring the grid url, the tests will be recorded automatically. The videos can be watched in the Zalenium dashboard: http://127.0.0.1:4444/dashboard/#