Come Devin usa un ambiente desktop completo per interagire con le GUI, testare applicazioni e verificare visivamente le modifiche
Devin ha accesso a un ambiente desktop Linux completo — non solo a un browser. Può muovere il mouse, fare clic sugli elementi dell’interfaccia, digitare sulla tastiera, catturare schermate e interagire con qualsiasi applicazione che gira su un desktop Linux. Questa funzionalità è chiamata Computer Use e consente a Devin di testare e interagire con il tuo software esattamente come farebbe un essere umano.
Computer Use offre a Devin accesso diretto a un ambiente desktop grafico con mouse e tastiera. Questo va oltre la semplice automazione del browser — Devin può interagire con qualsiasi applicazione visualizzata sullo schermo, tra cui:
Applicazioni web in Chrome (clic sui pulsanti, compilazione di moduli, navigazione tra le pagine)
Applicazioni desktop in esecuzione su Linux (app Electron, GUI native, IDE)
Interfacce basate su terminale (programmi TUI, CLI interattive)
Qualsiasi interfaccia visiva visualizzabile sul desktop
Devin vede lo schermo come un monitor da 1024×768 pixel e può eseguire azioni come cliccare, digitare, scorrere, trascinare e catturare schermate — proprio come un essere umano seduto al computer.
Una volta abilitata, Devin utilizzerà il suo ambiente desktop durante le sessioni, in particolare durante i flussi di test in cui deve interagire con l’interfaccia utente (UI) della tua applicazione.
Desktop mode è disponibile in tutti i piani. Solo gli amministratori dell’organizzazione possono modificare questa impostazione.
Quando Devin crea una PR, mostra un pulsante Test the app. Facendo clic su questo pulsante si avvia l’intero flusso di lavoro di test — Devin avvia la tua applicazione, usa Computer Use per interagire con il desktop, testa le modifiche e ti invia una registrazione.
Puoi chiedere a Devin di eseguire test in qualsiasi momento durante una sessione — non è necessaria alcuna sintassi speciale, basta il linguaggio naturale. Ad esempio:
“Testa le modifiche che hai appena apportato e inviami una registrazione”
“Apri l’app nel browser e verifica che la pagina di login funzioni”
“Avvia l’app desktop e controlla che il nuovo elemento di menu sia visibile”
Devin decide in autonomia quando l’interazione con il desktop è lo strumento giusto per il compito da svolgere. Se un’attività richiede di fare clic su elementi dell’interfaccia, spostarsi all’interno di un’applicazione, compilare moduli o verificare qualcosa visivamente, Devin userà Computer Use senza che gli venga chiesto esplicitamente. Non è necessario dire a Devin come interagire con lo schermo — basta dirgli che cosa deve fare.
Devin può avviare la tua app in locale, aprirla in Chrome e cliccare attraverso flussi utente completi — accesso, navigazione, invio di form, checkout — verificando che tutto funzioni come previsto.
Qualsiasi applicazione eseguibile su Linux può essere testata. Devin può avviare l’app, interagire con la sua interfaccia grafica (GUI) e verificarne il comportamento. Questo include app Electron, applicazioni Java Swing/AWT, app GTK/Qt e altro ancora.
Devin può scattare screenshot in punti specifici durante i test per verificare che layout, stile ed elementi dell’interfaccia utente appaiano corretti. Può confrontare ciò che vede sullo schermo con il comportamento atteso e segnalare eventuali problemi visivi.
Alcuni scenari di test richiedono interazioni con la GUI in più passaggi che vanno oltre le semplici chiamate API o l’automazione del browser — ad esempio drag-and-drop, menu contestuali, scorciatoie da tastiera o la navigazione tra più finestre. Computer Use gestisce tutto questo.
Devin può registrare il proprio schermo mentre esegue i test, annotando i momenti salienti nel video. La registrazione viene quindi elaborata e inviata, così puoi guardare Devin mentre interagisce con la tua app e confermare che le modifiche funzionano. Consulta Testing & Video Recordings per tutti i dettagli sul flusso di lavoro di registrazione.
Quando Devin utilizza Computer Use durante una sessione, segue questo processo:
Cattura uno screenshot dello schermo corrente per capire cosa c’è a schermo
Identifica gli elementi interattivi — pulsanti, campi di testo, menu, collegamenti — e decide con cosa interagire
Esegue un’azione — clicca, scrive, scorre la pagina o usa scorciatoie da tastiera
Attende e osserva — cattura un altro screenshot per vedere il risultato dell’azione
Ripete finché l’attività non è completata
Questo ciclo screenshot-azione consente a Devin di adattarsi a qualunque cosa sia presente sullo schermo, gestendo contenuti dinamici, stati di caricamento, pop-up e finestre di dialogo inaspettate proprio come farebbe un essere umano.
Computer Use è alla base del flusso di lavoro di test e registrazioni di Devin. Quando Devin testa la tua applicazione dopo aver creato una pull request (PR):
Setup — Devin installa le dipendenze, avvia la tua app e prepara l’ambiente
Pianificazione dei test — Devin legge il diff e crea un piano di test mirato
Esecuzione tramite Computer Use — Devin usa il suo desktop per interagire con la tua app, seguendo il piano di test passo dopo passo
Registrazione — L’intero processo viene acquisito in un video con annotazioni e poi inviato a te per la revisione
La differenza principale tra Computer Use e il flusso di lavoro Testing & Recordings è l’ambito: Computer Use è la funzionalità alla base (interazione con il desktop), mentre Testing & Recordings è il flusso di lavoro strutturato che usa Computer Use per testare le tue PR e fornire prove video.
Se la tua app richiede autenticazione, configura in anticipo i secrets in modo che Devin possa accedere senza chiedertelo durante la sessione. Completa Repo Setup per garantire che Devin possa installare le dipendenze e avviare la tua app senza problemi.
Per le app che testi spesso, crea una Skill che indichi a Devin esattamente come configurare e testare la tua applicazione. Questo consente di risparmiare tempo nelle sessioni ripetute e garantisce test coerenti. Consulta Testing & Video Recordings — Skill Suggestions per esempi.
Devin non riesce a trovare un elemento dell’interfaccia
Se Devin non riesce a individuare un pulsante o un elemento dell’interfaccia sullo schermo, prova a essere più specifico nelle istruzioni: descrivi la posizione dell’elemento, la sua etichetta o il contesto circostante. Ad esempio, “fai clic sul pulsante Salva blu in basso a destra nella finestra modale” è meglio di “fai clic su Salva”.
Devin utilizza un ambiente Linux. Se la tua applicazione funziona solo su macOS o Windows, non sarà disponibile per i test sul desktop. Le applicazioni web funzionano indipendentemente dalla piattaforma, poiché vengono eseguite in Chrome. Per le app desktop, assicurati che dispongano di una build per Linux.
Se Devin interagisce in modo errato con la tua interfaccia utente, fornisci una voce di Skill o Knowledge con istruzioni di navigazione specifiche per la tua app. Descrivi i passaggi esatti (“clicca sul menu hamburger in alto a sinistra, poi clicca su Impostazioni nel menu a tendina”) per ridurre l’ambiguità.