E2E Test Automation with Pickleib

Umut Ay Bora, Technical Test Lead & Senior Test Automation Engineer at spriteCloud has been tasked with improving QA Strategy and formulating the test automation solution for our valued client, CitizenM.

CitizenM is a boutique hotel chain with over 30 locations worldwide, relying extensively on advanced technology to ensure seamless hotel operations. Continuously innovating, CitizenM integrates multiple systems to enhance efficiency and elevate the guest experience.

Umut has been working with CitizenM for quite some time to optimise their software testing processes. As a result of his challenge, Umut created his very own library, Pickleib. Read on to discover more about Umut's fascinating process towards end-to-end testing at CitizenM!

The Challenge

One of Umut's biggest challenges when analysing CitizenM's was their infrastructure, comprised of:


  • Website
  • Mobile applications
  • API Layer
  • Database
  • Customer Emails
  • Analytics layer

Umut recognised the need for a comprehensive test automation solution that can perform cross product actions and outcome verifications.

The Solution

Thankfully, Umut's hobby is tool development, so he developed a Test Automation Utility Library specifically for test automation projects, called Pickleib. What started as a quickstart library for case studies evolved into an open-source automation environment capable of all UI: Web, desktop, mobile UI, API, database, data layer and email tests.

Other features include:


  • Email client
  • SQL connection & utilities
  • Modular API handling
  • Data layer interactions
  • Low-code mobile & web UI interaction design

It now has 9 active contributors on GitHub, and has grown into a highly scalable, innovative step design enabling:

  • Website analytic verification
  • Interact with & verify the middleware & database
  • Filter, download & interact with emails 
  • Interact with any UI

E2E Test Automation - Driver, Utilities & POM

Umut's smart design has highlights that include:

  • Tools that just fit
  • Next level architecture
  • Parameterised steps
  • Element Acquisition
  • Element Interactions
  • Ease of maintenance
  • Scalability
  • Low code
  • Low complexity for the tester

For example, it has a built-in email client that can conduct:

  • Email tests
  • Email client vs API
  • Secure SSL connection with Javax
  • Email filtering
  • Webdriver for email html
  • Reused UI Steps
See this in action on YouTube

E2E Test Automation - Handling the API

Umut has ensured that the tool is modular and flexible, including highlights such as:

  • Retrofit
  • Ease of use with abstract definitions
  • Custom Service Generator:
    • Header management
    • Easy debugging
    • Optional Error bodies
  • Parameterised steps
  • Context & Cross platform use
API & UI Steps (cross platform scenario)

E2E Test Automation - Database Connection

Pickleib allows for an SQL, which has:

  • JDBC
  • Query composition & parameterised steps
  • Data conversion
Email, Database & UI Steps (cross platform scenario)

E2E Test Automation - Data Layer Utilities

Pickleib contains website analytics, including the following highlights:

  • Automated analytics tests
  • Console interaction utilities (including JavaScript executor)
  • Regex support
  • Additional benefit: 
    • Action verification with event listeners

E2E Test Automation - ContextStore

In Umut's words, he wanted "One Context To Rule Them All", resulting in Pickleib being created with:

  • The context need
  • Static Hashmap with Generics
  • Easy to use

E2E Test Automation - Test Execution

Growing versatility of Pickleib posed a management challenge. The challenge was to make it work seamlessly, easily, and reliably all while keeping it modular for smaller applications. To achieve this, Umut developed a tagging system.

  • Multiple teams:
    • Multiple pipelines
  • Tags for targeting:
    • Scenarios
    • Features
    • Platforms
  • Tags for managing:
    • Drivers
    • Authentication

E2E Test Automation - Test Results

Having continuous results was top priority in creation of this tool, so Umut ensured that there was:

  • A Slack integration
    • Everybody gets a channel
  • A Calliope integration
    • Test result dashboard
    • Results over time
      • Detect flaky scenarios

Interested in learning more about Pickleib? Check it out on GitHub.