---
title: Aperçu et tests E2E
question: Comment voir et tester mon application avant de fusionner ?
description: Chaque run démarre un aperçu de sa branche, ouvert dans Diavi en web ou en téléphone, et y exécute ses tests de bout en bout.
section: understand
order: 4
---
Chaque run démarre un aperçu de sa branche : votre application, lancée avec le code de la merge request, sur des données de démo. Il s'ouvre dans l'onglet **Aperçu** du run, dans un cadre d'ordinateur ou de téléphone, et son lien figure dans la merge request avec le compte de test.

## Mon application a un front, une API et une base : tout démarre-t-il ?

Oui, si votre dépôt a un `docker-compose.yml` à la racine : l'aperçu le suit, et chaque service joint les autres par son nom. Rien de ce qui toucherait notre machine n'est repris — mode privilégié, réseau de l'hôte, dossiers hors du dépôt — et un dossier du dépôt monté dans un service y est copié. Sans fichier compose, l'aperçu démarre la stack principale du run.

## Y a-t-il un compte pour se connecter ?

Quand la stack le permet, l'aperçu crée un compte de démo : Dolibarr, Laravel, Django. Il s'affiche à côté du lien. Si le compte n'a pas pu être créé, les tests tournent sans connexion et le run le dit.

## Comment les tests sont-ils écrits ?

Avant d'écrire, Diavi parcourt l'aperçu : il se connecte, relève les vraies adresses et ce que montre chaque écran, sans jamais suivre un lien de déconnexion ou de suppression. Les tests s'appuient sur ce qu'il a vu, pas sur des adresses devinées, et chacun vérifie que la page qu'il ouvre existe.

## Un test échoue : qui corrige quoi ?

Diavi trie d'abord. Si c'est le test qui est faux — une page qui n'existe pas, un test qui ne s'exécute pas, un élément ambigu —, il réécrit le test sans toucher à votre code. Sinon, il corrige le code. Le commentaire de la merge request dit quelle voie a été prise.

## Mes données sont-elles protégées ?

L'aperçu tourne sur des données de démo, jamais les vôtres, et disparaît à son expiration. Une application qui parle directement à Firebase ne l'atteint pas pendant les tests : ils ne peuvent pas écrire dans votre vrai projet.

## Et une application mobile ?

L'aperçu montre la version web de l'application dans un cadre de téléphone : barre d'état, trois tailles d'écran, rotation. Pour Flutter, les tests activent la couche d'accessibilité, sans laquelle rien n'est lisible. Le rendu natif iOS ou Android n'est pas encore proposé.
