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 is based on a combination of the most popular Open Source components, that let the customer avoid a vendor lock-in.
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.
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:
This feature let the user to interact with any given application using the same framework and reusing existing behaviour in Gherkin
Selenium with its web driver gives Lippia control over different browsers using local browsers or cloud providers to execute tests on web applications.
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.
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.
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.
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 provides running support and adds parallel execution functionality and serves for pre and post run configurations to all tests.
Lippia is capable of execute parallel tests, with low coupling, allowing the execution of multiple threads
Lippia supports automated Accessibility Tests using the same objects used in behaviour functional tests using the a11y library included in Selenium
Lippia is developed in Java language (7.6M developers community worldwide) and packaged with Maven on Docker. Available in Central Maven.
Starting from an archetype (web, mobile, desktop, API) a test automation project is configured and ready to be executed.
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:
This architecture can be delivered in two ways:
Lippia is designed to be integrated in any commercial and open source pipeline as the following:
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.
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
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.
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.
Lippia is ready to work with Appium compatible devices providers like:
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.
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.
Use the same codebase to automate your business scenarios for all your apps no matter wich technology is based on
Integrate your favourite Test Management solution, use popular Open Source reports like Extent or Allure or simply integrate our Report API
Write your test cases in BDD using Gherkin to integrate and communicate your Testers and Product Owners
Run tests in parallel to boost your testing cycles
Based on Docker technology to easily deploy in any platform, Onpremise and Cloud
Built-in Jenkins job to use as it or integrate into your pipeline
Lippia has its own Report Server that lets the customer store results from many frameworks including but not limited to Lippia. It currently supports
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: