Cara menggunakan PHP WebDriver untuk menguji masa memuatkan halaman

PHPz
Lepaskan: 2023-06-15 22:24:01
asal
1557 orang telah melayarinya

Dengan populariti Internet yang berterusan, masa memuatkan halaman, sebagai penunjuk penting pengalaman pengguna, adalah sangat penting untuk pengoptimuman tapak web dan penalaan prestasi. Semasa proses ujian, cara mengukur masa pemuatan halaman dengan tepat menjadi isu penting. Artikel ini akan memperkenalkan cara menggunakan PHP WebDriver untuk menguji masa memuatkan halaman.

1. Pengenalan kepada PHP WebDriver

PHP WebDriver ialah alat pembangunan PHP berdasarkan Selenium WebDriver Ia mengawal penyemak imbas untuk melaksanakan operasi halaman dengan memanggil pemacu asas penyemak imbas. Menggunakan PHP WebDriver, anda boleh melaksanakan ujian automatik, merangkak dan fungsi lain halaman web.

2. Kaedah ujian masa memuatkan halaman

Sebelum menguji masa memuatkan halaman, kita perlu memahami beberapa konsep:

  • Masa pemaparan pertama (Masa Cat Pertama ): merujuk kepada perbezaan masa antara apabila penyemak imbas mula memaparkan halaman dan apabila piksel pertama muncul pada halaman.
  • First Contentful Paint: merujuk kepada masa apabila kumpulan pertama kandungan bermakna muncul pada halaman.
  • Masa Interaktif Pertama: merujuk kepada masa apabila skrip utama pada halaman telah dimuatkan dan pengguna boleh mula berinteraksi.
  • Masa Muat Halaman: merujuk kepada masa apabila semua sumber pada halaman dimuatkan sepenuhnya dan skrip dilaksanakan.

Berdasarkan konsep di atas, ujian berikut boleh dilakukan:

  1. Ujian Kali Cat Pertama

Apabila penyemak imbas mula melukis Halaman , kita boleh menggunakan 'first-paint' dalam Performance Timing API untuk mendapatkan masa pemaparan pertama adalah seperti berikut:

$driver->get('http://www.baidu.com');
$performance = $driver->executeScript('return window.performance.timing');
$firstPaint = $performance['responseStart'] - $performance['navigationStart'];
echo "First Paint Time: " . $firstPaint . "ms
";
Salin selepas log masuk
  1. Ujian First Contentful Paint

Disebabkan caching penyemak imbas, paparan pertama mungkin tidak lengkap, jadi kami memerlukan kaedah yang lebih tepat untuk menguji First Contentful Paint (FCP).

Dapatkan cap masa perubahan kandungan terkini melalui API Pemerhati penyemak imbas untuk mencapai fungsi mengukur FCP Kod sampel adalah seperti berikut:

$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"]});');
Salin selepas log masuk
  1. Ujian Masa Interaktif Pertama) <. 🎜>
Untuk Masa Interaktif Pertama, anda boleh mengujinya dengan memantau acara DOMContentLoaded Kod sampel adalah seperti berikut:

$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()};');
Salin selepas log masuk

    Ujian Masa Muat Halaman
  1. .
Masa memuatkan halaman penuh boleh diperolehi melalui API pemasaan navigasi Kod contoh adalah seperti berikut:

$driver->get('http://www.baidu.com');
$performance = $driver->executeScript('return window.performance.timing');
$pageLoadTime = $performance['loadEventEnd'] - $performance['navigationStart'];
echo "Page Load Time: " . $pageLoadTime . "ms
";
Salin selepas log masuk
3 Bantu kami memahami prestasi halaman dengan lebih baik dan menyediakan rujukan penting untuk mengoptimumkan tapak web. Artikel ini memperkenalkan cara menggunakan PHP WebDriver untuk menguji masa memuatkan halaman Pembaca boleh melaksanakannya dengan sewajarnya berdasarkan situasi sebenar mereka.

Atas ialah kandungan terperinci Cara menggunakan PHP WebDriver untuk menguji masa memuatkan halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan