2017-11-02 1 views
1

Ich versuche mit Puppenspieler zu messen, wie schnell eine Reihe von Websites in meiner Umgebung geladen wird. Mein Fokus liegt auf der Qualität der Netzwerkverbindung und der Netzwerkgeschwindigkeit. Daher bin ich froh zu wissen, dass die Zeit für eine Seite ist, für eine Laien-Definition der Last, wenn alle Bilder und HTML vom Browser heruntergeladen wird.Verwenden von page.getMetrics() zum Laden der Seite in Puppenspieler

Mit Puppenspieler kann ich den Test wiederholt ausführen und den Unterschied in Ladezeiten genau messen.

Ich kann sehen, dass in 64.0.3240.0 (r508693)page.getMetrics und event: 'metrics' gelandet sind, die mir helfen sollten, zu bekommen, was ich suche.

Aber ein Neuling in Knoten und js bin ich nicht sicher, wie man die page.getMetrics lesen und welche der verschiedenen Schlüssel/Wert-Paare geben eine nützliche Information in meinem Kontext.

Mein aktueller erbärmlicher Versuch beim Lesen Metriken ist wie folgt:

const puppeteer = require('puppeteer'); 
async function run() { 
    const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']}); 
    const page = await browser.newPage(); 
    page.on('load',() => console.log("Loaded: " + page.url())); 
    await page.goto('https://google.com'); 
    const metrics = page.getMetrics(); 
    console.log(metrics.Documents, metrics.Frames, metrics.JSEventListeners); 
    await page.goto('https://yahoo.com'); 
    await page.goto('https://bing.com'); 
    await page.goto('https://github.com/login'); 
    browser.close(); 
} 
run(); 

Jede Hilfe in diesen Code immer auf irgendeine Sache mehr anständig ist sehr geschätzt :)

Antwort

0

in den letzten Versionen haben Sie page.metrics() zur Verfügung:

Es wird ein Objekt mit einer Reihe von Zahlen zurückkehren einschließlich:

  • Der Zeitstempel bei der Erstellung des Metriksample
  • Kombinierte Dauer aller Seitenlayouts
  • Kombinierte Dauer aller Aufgaben, die vom Browser ausgeführt werden.

Schauen Sie sich die Dokumentation für die full list

Sie können es wie folgt verwenden:

await page.goto('https://github.com/login'); 
const gitMetrics = await page.metrics(); 
console.log(gitMetrics.Timestamp) 
console.log(gitMetrics.TaskDuration) 
Verwandte Themen