Lippia Test Automation

Container-based testing automation framework for Web, Mobile, API and Desktop apps


More info Get Started

Lippia Test Automation

We believe that the best approach to automate testing from conception to deployment is to use BDD (Behaviour Driven Development) to include not just Developers, but Testers and Business Analysts.

The benefit of use behaviour in the automated tests from the very early stages, allows all the team to understand business requirements and translate them into test scenarios which can be executed manually as well as automated and visualized in the automation test run reports.

To accomplish that we developed Lippia ® Test Automation, for Web, Mobile, Desktop, APIs and Database applications. A single framework that can be used to automate every app in any platform.

Lippia Automation Framework

Lippia Architecture

Features

Open Source Code

Lippia is based on a combination of the most popular Open Source components, that let the customer avoid a vendor lock-in.

BDD (Behaviour Driven Development)

Cucumber supports BDD by joining the java code of the tests with the gherkin written by the business. This allows the tests to be written in colloquial or ubiquitous language throughout the business.
At the same time, it supports the adaptation of many types of reports such as our Report Server in a simple and democratic way for all those involved in a development team, including Analysts and QA.

The Cucumber model allows writing test cases in Gherkin language which is a high level language, easy to understand for Business Analysts, Testers and Developers.
The creation of reusable steps allows testers to write test scenarios reusing existing pieces of behaviour with automated code and combine them in different ways to produce new scenarios.

Once the framework will be up and running, the Testing Team, instead, will allow the testing team to write test cases following the simple BDD format as shown below:

These notations will be the same that the reports show, giving the testers to realize where they fail, replicate the behaviour manually, and classify it according to the status of the test result.

Driver Manager

This Lippia framework's element has the responsibility of managing the drivers.
When a driver is necessary to interact with any application, an instance is requested based on the configuration as follows:

  • Web Driver
  • Mobile Driver
  • Windows Driver
  • Database Driver
  • API Driver

This feature let the user to interact with any given application using the same framework and reusing existing behaviour in Gherkin

Web Driver

Selenium with its web driver gives Lippia control over different browsers using local browsers or cloud providers to execute tests on web applications.

Mobile Driver

Appium driver gives Lippia the ability to interact with mobile devices to execute tests on mobile applications. Using the same language to model the tests (Cucumber) you can reuse web test scenarios written for web on mobile and vice versa.

Windows Driver

Lippia supports Windows Applications using WinAppDriver, an open source approach with the same interface as Selenium. Using the same language to model the tests (Cucumber) you can reuse web test scenarios written for web on mobile and vice versa.

Database Driver

Lippia has support for different databases in a simple way. It has a tool that receives queries and returns a Map to facilitate access to the data. With this feauture you can perform database tests again using Gherkin as main language but accessing Database queries or business logic in Stored Procedures.

API-REST driver

Through Spring rest client, lippia supports API tests, being able to reuse definitions from other tests as well as including this behavior in tests of other types such as mobile, web, etc.

TestNG Runner

TestNG provides running support and adds parallel execution functionality and serves for pre and post run configurations to all tests.

Parallel execution

Lippia is capable of execute parallel tests, with low coupling, allowing the execution of multiple threads

Accesibility

Lippia supports automated Accessibility Tests using the same objects used in behaviour functional tests using the a11y library included in Selenium

Java

Lippia is developed in Java language (7.6M developers community worldwide) and packaged with Maven on Docker. Available in Central Maven.

Archetypes

Starting from an archetype (web, mobile, desktop, API) a test automation project is configured and ready to be executed.

Scalable Infrastructure

Lippia is delivered using Docker and can be installed in:

It is possible to run the Lippia from a docker image in Docker or inside a Kubernetes pod.

With this strategy, the framework can be used in:

  • single computer
  • single server
  • Kubernetes instance

This architecture can be delivered in two ways:

  • On premise: using existing physical and virtual environments in customer data centres.
  • Cloud: using existing cloud infrastructure as AWS, Google Cloud, Digital Ocean, among others.
  • Hybrid: combining On Premise and Cloud.

CI-CD Integration

Lippia is designed to be integrated in any commercial and open source pipeline as the following:

  • Jenkins
  • Gitlab
  • Bitbucket Pipelines
  • Bamboo
  • Github Actions

Additional Features

Selectors

Lippia has a toolbox to obtain the most used locators such as CSS, ID and XPATH, these simplify the implementation of interactions with web and mobile applications.

Wait Handling

Lippia has specific and configurable wait management through properties. These can be implemented in a custom way if necessary or implement waits at any time without restrictions

Page Objects

Lippia is based on the Page Object pattern, has a base class for mobile and web with a large number of possibilities for interaction with the application already developed, which makes it even easier to start projects. In addition Lippia improves this pattern giving the user the option to avoid writing the PageObject class and instead using a config file with key-values to store selectors Ids.

Low Code

Lippia allows you to develop API tests with low code. By writing the Gherkin and its sample data in a JSON file as follows avoiding writing code for each step.

Mobile Devices Providers

Lippia is ready to work with Appium compatible devices providers like:

  • Browserstack
  • CI -Test
  • SauceLabs

The solution doesn’t include the cost of the device providers, which has to be acquired separately by CAF Bank, but we can suggest the best plan for each provider to efficiently select the right solution.

Test Data and Mockups

Lippia has an additional service that provides Test Data. This layer can be used to generate controlled datasets that need to be controlled during test automation runs.
The Test Data service is provided with an isolated Database and API REST service that can be consumed from the Tests Automated.

The Mockup service is designed to replace existing services (API or SOAP) to emulate services where the environments where the App under test is dependent, are not available when needed and avoid False Negatives of Flaky Test.

Benefits

One framework, many apps: API / web / mobile / desktop

Use the same codebase to automate your business scenarios for all your apps no matter wich technology is based on

Multiple reports: Jira, TFS, Extent, Allure, API

Integrate your favourite Test Management solution, use popular Open Source reports like Extent or Allure or simply integrate our Report API

BDD Cucumber

Write your test cases in BDD using Gherkin to integrate and communicate your Testers and Product Owners

Parallel executions

Run tests in parallel to boost your testing cycles

Containerised architecture

Based on Docker technology to easily deploy in any platform, Onpremise and Cloud

CI/CD: integrate into any pipeline

Built-in Jenkins job to use as it or integrate into your pipeline

Get Started

Check out our free code sample projects

Lippia Report Server

Lippia has its own Report Server that lets the customer store results from many frameworks including but not limited to Lippia. It currently supports

  • Postman + Newman
  • Pytest
  • Ruby
  • Specflow (NET Cucumber Implementation)
  • XUnit
  • Lippia (Cucumber)
  • Cucumber

And allows integration to any reporter using cucumber plugins. It also has its own integration to Jira and TFS as well as Browserstack integration to see execution videos in a single front-end.
Lippia Report Server will generate reports organized by projects that groups the tests runs as shown in the following picture:

Each project is composed by a set of test scenarios in any given language, and shows the results of each execution as runs, as shown in the following image: The detailed view of each projects shows the results in a dashboard as follows:

Each run will let the user visualize the result of each test scenario as it was written in Gherkin language allowing the Business Analysts and Testers to communicate results of test automation in a natural and understandable way.

The result of the test scenario execution shows step by step execution indicating which step fails, and includes additional information as follow: