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:
Berdasarkan konsep di atas, ujian berikut boleh dilakukan:
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 ";
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"]});');
$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()};');
$driver->get('http://www.baidu.com'); $performance = $driver->executeScript('return window.performance.timing'); $pageLoadTime = $performance['loadEventEnd'] - $performance['navigationStart']; echo "Page Load Time: " . $pageLoadTime . "ms ";
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!