POMify: Rifattorizzazione automatizzata dei test web end-to-end verso il modello Page Object Model
View/ Open
Author
Lepre, Mario <1997>
Date
2026-03-25Data available
2026-04-02Abstract
L'automazione dei test end-to-end (E2E) è efficace per convalidare i flussi di lavoro degli utenti sulle applicazioni web. Tuttavia, lo sviluppo e la manutenzione delle suite di test sono costosi, poiché le interfacce utente sono in continua evoluzione. Una strategia di refactoring comune prevede l'utilizzo del Page Object Model (POM), che mira a ridurre gli sforzi di manutenzione incapsulando i localizzatori e la logica di interazione in classi dedicate. L'adozione di questo modello richiede una sostanziale rifattorizzazione manuale, che spesso scoraggia i team dal ristrutturare intere suite E2E esistenti.
Questa tesi presenta POMify, un'estensione VS Code che supporta la creazione di test E2E rifattorizzati adottando il POM dai test funzionanti attraverso una pipeline guidata da LLM. POMify è progettato per essere conservativo: limita la generazione di codice unendo il codice funzionante esistente e applicando la formattazione, i controlli di compilazione e la reportistica a livello di file per ridurre le modifiche rischiose e facilitare la revisione. Piuttosto che puntare alla completa automazione, lo strumento cerca di ridurre lo sforzo manuale necessario per ottenere una struttura POM funzionante e mantenibile.
Riportiamo anche uno studio empirico in due parti. La parte I confronta la strategia manuale con le strategie assistite dall'IA per l'implementazione di test E2E da scenari Gherkin, utilizzando come risultato principale il tempo necessario per la prima esecuzione riuscita. La parte II confronta il refactoring manuale e il refactoring assistito da POMify di test E2E già funzionanti in test E2E che adottano POM, considerando il tempo e le correzioni necessarie per ottenere un'esecuzione riuscita. End-to-end (E2E) test automation is effective for validating user workflows on web applications. However, it is costly to develop and maintain test suites as user interfaces evolve. A common refactoring strategy involves the Page Object Model (POM), which aims to mitigate maintenance effort by encapsulating locators and interaction logic into dedicated classes. Adopting this model requires substantial manual refactoring, which often discourages teams from restructuring entire existing E2E suites.
This thesis presents POMify, a VS Code extension that supports the creation of refactored E2E tests by adopting the POM from working tests through an LLM-driven pipeline. POMify is designed to be conservative: it limits code generation by merging existing working code and applying formatting, compilation checks, and file-level reporting to reduce risky changes and facilitate review. Rather than aiming for complete automation, the tool seeks to reduce the manual effort required to achieve a working and maintainable POM structure.
We also report on a two-part empirical study. Part I compares the manual strategy with AI-assisted strategies for implementing E2E tests from Gherkin scenarios, using the time required for the first successful execution as the primary result. Part II compares manual refactoring and POMify-assisted refactoring of E2E tests already working in E2E tests that adopt POM, considering the time and corrections needed to achieve successful execution.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [7402]

