Design and Implementation of the PCMA Advertising Validation Automation Platform
This article describes the business background, requirements, multi‑layer architecture, implementation details, usage workflow, encountered issues, and future plans of PCMA, a platform that automates the validation of advertising placements across PC, mobile web, and app environments.
The commercial operations center of the company manages various advertising formats such as CPD, CPM, and CPC. The testing team is responsible for testing and acceptance of these ads, following a largely uniform process that includes adding ad slots, deploying materials, verifying display, and checking exposure logs.
To automate this acceptance workflow, two main scenarios were identified: ad material deployment and ad slot validation. The article introduces PCMA (PC, M and App ads validation tool) as the automation solution.
Business Requirements outline the manual testing steps for ad slot acceptance and list functional points needed in the tool, including UI automation across platforms, request monitoring, slot searching, log querying, and effect verification, as well as custom features like IP targeting, delayed, timed, batch, concurrent acceptance, script execution, and user‑friendliness.
Platform Design proposes a multi‑layer architecture with independent modules: a WEB service for managing test cases and tasks, an asynchronous task server for concurrent execution, adaptation modules for PC, mobile, and app calls, a scheduling layer for distributed script execution, and a proxy service to capture ad requests. The async task, adaptation, scheduling, and proxy components reside in a backend application (PCMACore), while the WEB service is a separate application (PCMAWeb).
Platform Implementation explains the technical details and workflow, illustrating how engineers can understand the system through architecture diagrams and business logic flowcharts.
Platform Usage describes how ordinary users log in via SSO, view the case list, execute or view results of ad slot acceptance tasks, and create new tasks through a UI that captures path, type, platform, browser, environment, and ad slot information.
The platform, though not fully feature‑complete, already supports stable PC and mobile ad acceptance, is deployed across multiple ad lines, contributed to a large refactoring project, and is being promoted to other user roles, with around 600 tasks and over 1,600 executions recorded.
Problems Encountered include HTTPS proxy SSL exceptions, visual verification of ad slot effects, app ad slot locating challenges, and concurrency management due to Selenium Grid's two‑layer task queues.
Future Plans involve completing pending features, optimizing and refactoring the platform, and eventually separating functional modules into independent services for broader external use.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
