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


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


E2E Test Automation - Database Connection
Pickleib allows for an SQL, which has:
- JDBC
- Query composition & parameterised steps
- Data conversion


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
