Maison >développement back-end >tutoriel php >Comment utiliser PHP WebDriver pour tester le temps de chargement des pages

Comment utiliser PHP WebDriver pour tester le temps de chargement des pages

PHPz
PHPzoriginal
2023-06-15 22:06:001596parcourir

Avec la popularité continue d'Internet, le temps de chargement des pages, en tant qu'indicateur important de l'expérience utilisateur, revêt une grande importance pour l'optimisation des sites Web et le réglage des performances. Pendant le processus de test, la manière de mesurer avec précision le temps de chargement des pages devient une question importante. Cet article explique comment utiliser PHP WebDriver pour tester le temps de chargement des pages.

1. Introduction à PHP WebDriver

PHP WebDriver est un outil de développement PHP basé sur Selenium WebDriver. Il contrôle le navigateur pour effectuer des opérations sur les pages en appelant le pilote sous-jacent du navigateur. À l'aide de PHP WebDriver, vous pouvez implémenter des tests automatisés, une exploration et d'autres fonctions des pages Web.

2. Méthode de test du temps de chargement des pages

Avant de tester le temps de chargement des pages, nous devons comprendre plusieurs concepts :

    #🎜 🎜# First Paint Time : fait référence à la différence de temps entre le moment où le navigateur commence à afficher la page et le moment où le premier pixel apparaît sur la page.
  • Temps de rendu du premier contenu (First Contentful Paint) : fait référence au moment où le premier lot de contenu significatif apparaît sur la page.
  • First Interactive Time : fait référence au moment où le script principal de la page a été chargé et où l'utilisateur peut commencer à interagir.
  • Page Load Time : fait référence au moment où toutes les ressources de la page sont complètement chargées et où le script est exécuté.
Sur la base du concept ci-dessus, le test suivant peut être effectué :

    Test du premier temps de peinture
  1. # 🎜🎜#Lorsque le navigateur commence à dessiner la page, nous pouvons utiliser 'first-paint' dans l'API Performance Timing pour obtenir l'heure du premier rendu. Le code est le suivant :
$driver->get('http://www.baidu.com');
$performance = $driver->executeScript('return window.performance.timing');
$firstPaint = $performance['responseStart'] - $performance['navigationStart'];
echo "First Paint Time: " . $firstPaint . "ms
";

#🎜. 🎜# First Contentful Paint test

  1. En raison du cache du navigateur, le premier rendu peut ne pas être complet, nous avons donc besoin d'une méthode plus précise pour tester First Contentful Paint (FCP).
La fonction de mesure du FCP peut être réalisée en obtenant l'horodatage des modifications récentes du contenu via l'API Observer du navigateur. L'exemple de code est le suivant :

$driver->get('http://www.baidu.com');
$driver->executeScript('function observerCallback(entries) {
  entries.forEach(entry => {
      if(entry.entryType == "paint" && entry.name == "first-contentful-paint") {
        console.log(entry.startTime);
        return entry.startTime;
      }
  });
}
var observer = new PerformanceObserver(observerCallback);
observer.observe({entryTypes: ["paint"]});');

. Pour le premier test Interactive Time (First Interactive Time)

  1. Pour First Interactive Time, vous pouvez le tester en surveillant l'événement DOMContentLoaded L'exemple de code est le suivant :
  2. .
    $driver->get('http://www.baidu.com');
    $driver->executeScript('function ti() {
        var ti = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;
        console.log(ti);
        return ti;
    }
    return {ti: ti()};');

Test du temps de chargement des pages

    Tester le temps de chargement des pages via PHP WebDriver peut nous aider à mieux comprendre les performances des pages et fournir une référence importante pour l'optimisation du site Web. Cet article explique comment utiliser PHP WebDriver pour tester le temps de chargement des pages. Les lecteurs peuvent l'implémenter en conséquence en fonction de leur situation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn