Ich führe ein einfaches node
Skript, das chromedriver
beginnt auf meiner Website, scrollt an den unteren Rand der Seite, und schreibt die Spur auf trace.json
.Wie benutze ich trace.json geschrieben von ChromeDriver
Diese Datei ist ungefähr 30 MB groß.
Ich kann nicht scheinen, diese Datei in chrome://tracing/
zu laden, was ich nehme, würde ich tun, um die Profildaten zu sehen.
Was sind meine Optionen, um meine trace.json
Datei sinnvoll zu machen?
Hier ist mein node
Skript, falls das hilft zu klären, was ich bin bis zu:
'use strict';
var fs = require('fs');
var wd = require('wd');
var b = wd.promiseRemote('http://localhost:9515');
b.init({
browserName: 'chrome',
chromeOptions: {
perfLoggingPrefs: {
'traceCategories': 'toplevel,disabled-by-default-devtools.timeline.frame,blink.console,disabled-by-default-devtools.timeline,benchmark'
},
args: ['--enable-gpu-benchmarking', '--enable-thread-composting']
},
loggingPrefs: {
performance: 'ALL'
}
}).then(function() {
return b.get('http://www.example.com');
}).then(function() {
// We only want to measure interaction, so getting a log once here
// flushes any previous tracing logs we have.
return b.log('performance');
}).then(function() {
// Smooth scroll to bottom.
return b.execute(`
var height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight, document.documentElement.clientHeight);
chrome.gpuBenchmarking.smoothScrollBy(height, function(){});
`);
}).then(function() {
// Wait for the above action to complete.
return b.sleep(5000);
}).then(function() {
// Get all the trace logs since last time log('performance') was called.
return b.log('performance');
}).then(function (data) {
// Write the file to disk.
return fs.writeFileSync('trace.json', JSON.stringify(data.map(function (s) {
return JSON.parse(s.message); // This is needed since Selenium outputs logs as strings.
})));
}).fin(function() {
return b.quit();
}).done();
Ist die Datei korrekt erzeugt? Können Sie es manuell laden? –
Laden Sie es manuell, wie? Die Datei selbst ist riesig, also schwer zu sagen, wenn sie korrekt erzeugt wird, aber sie sieht "OK" aus. Korrekter JSON usw. – jerome
So laden Sie es manuell: Starten Sie Chrome, gehen Sie zu chrome: // tracing/und klicken Sie auf Laden. –