4 giugno 2026

Emulare capacità dei dispositivi con Chrome DevTools (per test automatizzati guidati da agenti)

Geolocalizzazione, viewport, tema, CPU/rete e altre condizioni “reali” riprodotte in modo ripetibile per scovare bug prima degli utenti.

Le simulazioni di Chrome DevTools permettono di riprodurre condizioni tipiche dell’utente (posizione, dimensioni schermo, modalità chiara/scura, throttling CPU/rete) e trasformarle in test automatizzati e ripetibili. Vediamo tre scenari pratici: feature “near me”, verifica della coerenza tra navigazioni mobile/desktop e bug d’interazione che emergono solo durante l’uso.

Nel frontend moderno, molti bug non dipendono dal codice “in sé”, ma dal contesto in cui quel codice gira: viewport, capacità del device, condizioni di rete, tema di sistema, posizione geografica. Il problema è che questi fattori sono variabili, spesso difficili da riprodurre e ancora più difficili da testare in modo sistematico.

Chrome DevTools offre da tempo strumenti di emulazione utili per ricreare queste condizioni. Quando li inserisci in un flusso automatizzato guidato da agenti (che aprono il browser, interagiscono con l’interfaccia e verificano risultati), ottieni un vantaggio enorme: test ripetibili, osservabili e vicini all’esperienza reale.

Di seguito trovi tre casi d’uso pratici che mostrano il valore dell’emulazione quando vuoi validare UI e logiche di prodotto in modo affidabile.


Quali capacità conviene emulare (e perché)

Prima dei casi d’uso, una panoramica delle leve più utili che DevTools permette di simulare e che, in pratica, cambiano il comportamento del tuo sito:

  • User agent / device profile: per verificare differenze di markup/CSS/feature detection e comportamenti specifici.
  • Viewport: fondamentale per responsive UI, breakpoints e layout “a stati” (navbar vs hamburger, drawer, ecc.).
  • Modalità chiara/scura: per controllare contrasto, token, immagini e componenti che reagiscono a prefers-color-scheme.
  • CPU throttling: per intercettare jank, input lag e problemi di performance che su macchine rapide non emergono.
  • Network throttling: per capire cosa succede con 3G/4G instabile: skeleton, timeout, retry, lazy loading.
  • Geolocalizzazione: essenziale per feature “near me”, contenuti localizzati, store locator, valuta/lingua, compliance.

L’obiettivo non è “testare tutto sempre”, ma costruire scenari ripetibili che rappresentino rischi reali per utenti e business.


Caso 1: testare feature “vicino a me” con geolocalizzazione simulata

Funzionalità basate sulla posizione sono ovunque:

  • food delivery che verifica la copertura
  • prenotazioni con valuta predefinita locale
  • retail con store locator e disponibilità in negozio

Il punto critico è che spesso la logica funziona in un’area e fallisce in un’altra (dataset incompleto, filtri, arrotondamenti, coordinate sbagliate, caching).

Come strutturare un test efficace

Uno scenario tipico, semplice ma ad alto valore:

  1. apri una pagina di store locator
  2. cerca una città dove sai che devono comparire punti vendita (es. Berlino)
  3. cerca una città dove sai che non devono comparire risultati (es. Washington)
  4. imposta la geolocalizzazione simulata su un’altra città (es. Parigi)
  5. verifica che la lista si aggiorni coerentemente

Il vantaggio dell’emulazione è che non dipendi dalla tua posizione reale, né da permessi di sistema o VPN: il comportamento diventa riproducibile e quindi testabile automaticamente.

Suggerimento pratico: se nel tuo flusso automatizzato aggiungi una fase di “chiusura del loop” (rileva difetti → proponi correzioni → riesegui scenario), puoi trasformare il test in un ciclo di feedback continuo.


Caso 2: validare la coerenza della navigazione tra desktop e mobile (hamburger vs navbar)

Le UI responsive non sono solo “layout diverso”: spesso cambiano proprio i componenti. Un esempio classico:

  • Desktop: navbar completa con link visibili
  • Mobile: hamburger menu con voci annidate

Qui l’errore più comune non è il CSS, ma la divergenza funzionale: link presenti su desktop ma non su mobile (o viceversa), voci in ordine diverso, etichette incoerenti, elementi finiti dietro un overflow.

Un test utile (e molto concreto)

  • apri una pagina con navigazione complessa
  • passa a viewport mobile e apri l’hamburger
  • estrai le voci principali del menu
  • passa a viewport desktop
  • confronta che le voci di primo livello siano equivalenti

Questo tipo di confronto è perfetto per l’automazione perché è ripetitivo e soggetto a regressioni: basta una modifica a un componente di navigazione per introdurre inconsistenze.

In più, durante l’analisi possono emergere differenze “laterali” ma importanti, ad esempio componenti accessori (come un selettore lingua) che cambiano posizione o allineamento tra i breakpoint.


Caso 3: scoprire bug d’interazione che emergono solo “usando” la pagina

Molti difetti non si vedono “guardando” la UI. Escono quando:

  • apri un menu
  • metti focus in un input
  • compaiono suggerimenti/autocomplete
  • l’header cambia altezza
  • elementi si sovrappongono

Scenario: ricerca con suggerimenti su più device

Un test mirato può essere:

  1. su mobile, tablet e desktop apri la pagina
  2. inserisci un termine nel campo di ricerca (senza inviare)
  3. attendi la comparsa dei suggerimenti
  4. verifica che un elemento critico dell’header (es. Login) resti sempre visibile
  5. raccogli evidenze e riassumi i risultati

È un esempio interessante perché unisce:

  • emulazione di viewport/device
  • automazione delle interazioni (focus, input)
  • osservabilità (screenshot o altre prove)

Risultati tipici che questo test fa emergere:

  • su desktop tutto ok
  • su tablet/mobile l’input si espande e “mangia” spazio dell’header
  • il link di login finisce nascosto mentre il campo è attivo

Questo è esattamente il genere di regressione che arriva in produzione se i test si limitano al rendering statico.


Come usare queste simulazioni in modo strategico

Per ottenere valore reale, concentrati su:

  • percorsi critici (ricerca, checkout, login)
  • stati UI (focus, hover, overlay, drawer aperti)
  • condizioni estreme ma realistiche (rete lenta, CPU ridotta, dark mode)
  • assertions verificabili: “il login è visibile”, “la lista risultati cambia”, “le voci menu coincidono”

Quando l’emulazione entra nel tuo flusso di test, smetti di “supporre” come si comporterà la UI: la fai girare in condizioni controllate e ne osservi gli effetti. È un cambio di passo enorme, soprattutto su progetti con tante varianti responsive e feature contestuali.


Checklist rapida per iniziare

  • Definisci 3–5 scenari ad alto rischio (uno per geolocalizzazione, uno per responsive nav, uno per interazione).
  • Aggiungi almeno una simulazione per scenario (viewport o location, poi rete/CPU quando serve).
  • Rendi i controlli oggettivi (presenza/assenza, visibilità, contenuto, coerenza tra viste).
  • Salva evidenze (screenshot) per confronti e regressioni.

Se ti interessa, posso proporti una matrice di test “minima” (device × breakpoint × stato UI) per un sito marketing, una dashboard o un e-commerce.