Come posso evitare che i test E2E smettano di funzionare dopo ogni modifica all'interfaccia?
I test E2E smettono di funzionare dopo una modifica all'interfaccia perché individuano gli elementi tramite una classe, un id, una porzione di testo o una posizione, proprio ciò che cambia quando si riprogetta l'interfaccia. Nexus Studio, di Verdict System LLC, affronta il problema in tre passaggi: propone un nuovo localizzatore e chiede conferma prima di modificare il test, contrassegna un'esecuzione salvata da un selettore riparato come AUTO_RECOVER anziché come superata senza riserve e elenca i localizzatori deboli per consentirti di correggerli per primi.
A cura del gruppo di lavoro di Nexus Studio, Verdict System LLC. 7 ottobre 2026.
Perché i test Playwright e Selenium falliscono quando cambia l'interfaccia?
Un localizzatore è l'indirizzo che un test usa per trovare un elemento. Quando l'indirizzo dipende da qualcosa che non riguarda la funzione dell'elemento, come una classe generata durante la compilazione, una posizione nella pagina o il testo di un'etichetta, una modifica alla pagina rende l'indirizzo errato e il test fallisce su quella riga, anche se l'applicazione continua a funzionare.
Il costo non è il singolo fallimento. È il tempo che il team impiega ad analizzare le esecuzioni fallite, individuare la riga, trovare un nuovo localizzatore e modificare il file, ogni volta che viene rilasciata una nuova versione.
Qual è il problema della riparazione automatica che corregge i test senza avvisare?
Uno strumento che sostituisce un localizzatore non funzionante senza avvisare nessuno mantiene tutti i test della suite in verde, ma nasconde anche la modifica. Ora il test fa clic su qualcosa che l'autore non ha scelto e che nessuno ha verificato. Se la nuova corrispondenza è l'elemento sbagliato, il test può passare pur controllando la cosa sbagliata.
Nexus Studio si basa sulla regola opposta: nulla viene riparato a tua insaputa.
Come ripara Nexus Studio un localizzatore non funzionante?
- Con la riparazione automatica nella modalità predefinita, Suggerisci, quando un test fallisce Studio apre un browser in background, riesegue il test fino alla riga che ha causato l'errore e legge la pagina. I candidati sono pronti quando apri il dettaglio dell'errore. Non viene usata alcuna IA e il test rimane in rosso.
- Dal margine della riga che ha causato l'errore, il comando Ripara riga consente di registrare nuovamente solo quel passaggio o di sostituire il selettore con uno dei candidati. I candidati sono ordinati dal più robusto al meno robusto, con XPath all'ultimo posto.
- La modifica viene inserita nell'editor senza essere salvata. Salvarla equivale ad approvarla.
- Puoi anche chiedere alla tua IA quale candidato scegliere. Può riordinare i candidati, ma non aggiungerne, e la versione precedente del file rimane nella cronologia del file.
Cosa significa quando un test passa con un selettore riparato?
Il verdetto è AUTO_RECOVER: l'esecuzione è riuscita, ma la riparazione automatica ha dovuto sostituire un selettore in quel test. Non viene mai indicata come SECURE, ovvero superata senza riserve. Il localizzatore scritto dall'autore non funziona più e la successiva modifica alla pagina farà fallire davvero la suite, quindi la riserva rimane visibile nel rapporto e nella Cronologia finché qualcuno non corregge il selettore originale.
AUTO_RECOVER è uno dei sette verdetti positivi, quindi un processo CI termina con codice 0 quando lo riceve. La riserva compare nel rapporto, senza far fallire la compilazione. L'ordine completo dei controlli è descritto in Come Nexus Studio determina i 14 verdetti dei test.
Come posso individuare i selettori deboli prima che smettano di funzionare?
- Stato dei localizzatori elenca i localizzatori deboli del test aperto, indicando la riga di ciascuno, e li ripara tramite la stessa finestra di dialogo di Ripara riga.
- Le Mappe dei selettori analizzano una pagina senza IA, classificano ogni selettore come ALTO, MEDIO o BASSO e conservano la mappa sul tuo disco.
- La verifica, ovvero i sette controlli che ogni test scritto dall'IA deve superare, include la regola che il test non contenga localizzatori fragili.
Quali localizzatori sceglie il Registratore?
Nexus Recorder trasforma i tuoi clic in codice di test, senza alcun intervento dell'IA. Può usare un attributo identificativo per i test: quando scegli data-testid per una registrazione JavaScript, legge sia data-testid sia data-qa. Le registrazioni Python e Selenium mantengono il solo nome di attributo previsto dal rispettivo esecutore. I selettori basati su questi attributi sono classificati come robusti, mentre un nome di classe generato durante la compilazione, una lunga catena CSS e un semplice nome di tag sono classificati come fragili.
Il test rimane un file standard Playwright o Selenium?
Sì. Ogni test scritto o importato da Studio è codice di un framework che il tuo team conosce già: un file Playwright Test (JavaScript, TypeScript, Python o C#) oppure Selenium (JavaScript, Python, Java o C#). Una riparazione modifica una riga di quel file, quindi non c'è alcun formato proprietario da abbandonare con una migrazione se smetti di usare Studio.
Limiti
- La riparazione automatica in modalità Suggerisci non corregge nulla da sola. Ogni riparazione deve comunque essere approvata da una persona, quindi una modifica importante all'interfaccia richiede comunque tempo per la revisione.
- La lettura automatica dopo un errore richiede memoria libera sul computer. Quando non ce n'è abbastanza, non si avvia, ma puoi comunque richiedere i candidati manualmente.
- Stato dei localizzatori legge il file riga per riga, quindi non rileva un localizzatore distribuito su più righe.
- Un localizzatore debole che funziona ancora non è un errore. Stato dei localizzatori te lo segnala, ma nulla ti obbliga a modificarlo.
Dove posso vederlo in azione?
Il tour di Studio mostra sullo schermo la riga Repair e lo stato dei localizzatori, la guida ai verdetti spiega AUTO_RECOVER insieme agli altri 13 verdetti, e la prova di 30 giorni esegue lo stesso motore sui tuoi test.