Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Published:
January 04, 2025
Category:
Automation TESTING

Robust Automation Testing for Complex Retail Platforms Using Appium

Robust Automation Testing for Complex Retail Platforms Using Appium (1)


ABOUT CLIENT

The client, a leading global food and beverage company, operates a robust B2B retail platform supporting multiple applications and websites deployed across various countries. These platforms cater to distributors, retailers, and other business partners, ensuring streamlined operations and an enhanced user experience. The regions served include Brazil, Colombia, Spain, the Dominican Republic, Turkey, New Zealand, Russia, Romania, Portugal, Thailand, Poland, and Argentina.

The client aimed to establish a comprehensive automation framework to seamlessly integrate country-specific configurations across all B2B applications and platforms, addressing key business needs such as:

  • Country-specific site configurations (e.g., URLs, environment IDs, regional preferences).
  • Onboarding credentials for distributors and retailers, including secure login details.
  • Product information (categories, SKUs, brand names, and prices tailored to the B2B ecosystem).
  • Promotions and discounts are specifically designed for business partners in different regions.
  • Localization settings (language, currency, date formats) to support diverse regional requirements.

Efficient management of these preconditions was critical to maintaining scalability, data integrity, and a consistent user experience across all environments and regions. This approach ensured that PepsiCo’s B2B partners had access to a reliable and user-friendly platform tailored to their local needs.

PROBLEM AND CHALLENGES

  1. Complex JSON Data Management
    The client managed large JSON files containing data for configurations, onboarding, products, promotions, and customer registration. Keeping these files accurate across different environments and regions was time-consuming and prone to errors.
  2. Multiple Regional Applications
    Each regional application had unique requirements like localized product catalogs, language preferences, currency types, and promotions. Variations in UI layouts, translations, and currency formats made functional validation challenging across regional apps and websites.
  3. Cross-Platform Automation Issues
    Supporting the automation testing of iOS and Android with different screen sizes introduced UI misalignment and responsiveness issues. Consistently simulating touch gestures and interactions across all devices proved difficult.
  4. Scalability and CI/CD Integration
    Integrating test automation into CI/CD pipelines involved managing Appium configurations, environment variables, and dependencies. Ensuring smooth test execution across all environments required substantial effort.
  5. BrowserStack Integration Complexity
    Efficiently integrating BrowserStack pipelines to run tests across devices, resolutions, and browsers globally added significant complexity.
  6. Unified Automation Framework Across Websites and Apps
    There was a need for a single automation framework that could manage both websites and applications across different countries. This framework had to support regional-specific requirements like URLs, onboarding credentials, product catalogs, promotions, and localization settings.
  7. Flaky Test Cases

Issues like timing inconsistencies, slow loading screens, and dynamic content resulted in flaky test cases. Test stability suffered because network calls, animations, and UI rendering were not always synchronized.

OUR SOLUTIONS

  1. Centralized JSON File Automation
    We developed automated testing tools to parse, validate, and compare JSON data across environments, ensuring product details, onboarding information, and promotion data remained accurate across all applications.
  2. Robust Java Appium Framework
    We built a scalable Java-based Appium automation framework using the Page Object Model (POM). This modular framework ensured cross-platform compatibility through mobile testing of Android and iOS devices with multiple screen resolutions.
  3. BrowserStack CI/CD Integration
    Our integration with BrowserStack enabled automated test execution across real devices, emulators, and simulators. BrowserStack’s global device coverage validated UI interactions across screen sizes, resolutions, and OS combinations.
  4. Dynamic Environment Configuration Handling
    Automated test scripts dynamically adapted to configuration changes in regional apps across Dev, QA, and Production environments. We managed environment variables and test property files like config.properties
  5. Unified Automation Framework for Websites and Applications
    We developed a single automation framework for both Android and iOS that seamlessly managed websites and applications across countries. All regional-specific data and configurations were dynamically handled through country-specific JSON files. This ensured compatibility across Web, Mobile, and API platforms.
  6. Localization Testing Across Regions
    Our automated test cases validated product names, pricing, currency symbols, and regional promotions. We conducted localization checks for date formats, currency representations, and language translations, ensuring a consistent global user experience.

REQUIREMENTS

  • Automating functional tests for regional applications (onboarding, product display, promotions).
  • Managing shared JSON files containing product catalogs, promotions, registration credentials, and regional settings.
  • Integrating Appium tests with CI/CD tools like BrowserStack, Jenkins, and GitLab.
  • Supporting multiple environments: Dev, QA, SIT, and Preprod.
  • Supporting multiple platforms: Web, Mobile, and API.
  • Developing a single automation framework managing both websites and applications across every country.

TOOLS AND TECHNOLOGIES

  • Java – For core development
  • Appium Cross-platform mobile automation testing
  • BrowserStack – Comprehensive mobile and browser testing across various devices, screen resolutions, and OS combinations
  • JenkinsCI/CD integration for automated builds and deployments
  • GitLab CI/CD – Continuous integration and deployment automation
  • Selenium – Web automation testing
  • Postman – API testing
  • Maven– Build and dependency management
  • JSON Parsing Libraries– Parsing and validating JSON data
  • TestNG / JUnit – Test execution and reporting

BENEFITS TO THE CLIENT

  1. Efficient JSON Data Management Across Environments
    Automation ensured product details, onboarding information, and promotions were consistently updated, maintaining data integrity.
  2. Seamless Cross-Platform Testing
    The Appium framework maintained compatibility across Android and iOS, ensuring consistent interactions on all screen sizes.
  3. BrowserStack Device Coverage
    Integration with BrowserStack pipelines provided comprehensive device and browser coverage, enabling robust cross-platform testing globally.
  4. Scalability and Maintainability
    The modular POM design facilitated quick updates without extensive refactoring, ensuring a scalable test suite.
  5. Robust CI/CD Integration
    Integration with BrowserStack, Jenkins, and GitLab facilitated automated deployment validation, ensuring code changes were rigorously tested before release.
  6. Unified Framework for Websites and Applications
    A single framework managed country-specific websites and applications, ensuring automation, integration, and testing across platforms.
  7. Localized Testing Across Multiple Regions
    Automated localization validation ensured correct regional product details, promotions, and currency representations, delivering a flawless user experience.
  8. Time and Cost Savings
    Automation testing reduces manual testing efforts by over 70%, speeding up release cycles and providing quick feedback.