Как получить показатели производительности Chrome в JavaScript - PullRequest
0 голосов
/ 03 марта 2019

Если я использую Chrome Dev Tools, я могу сделать следующее:

  1. Открыть инструменты Chrome Dev (щелкните правой кнопкой мыши на странице в Chrome => Inspect)
  2. Перейдите к "вкладка «Производительность»
  3. Нажмите кнопку записи
  4. Нажмите кнопку в моем веб-приложении
  5. Остановите запись исполнения

Тогда я получу хорошиймаленький пирог на вкладке «Сводка» в Chrome:

enter image description here

Мой вопрос:

Как мне начать записьпрекратить запись и получить эти итоговые значения (загрузка, сценарии и т. д.) в javascript?

Было бы здорово, если бы кто-нибудь дал мне небольшой пример кода.

У меня вопрос , а не о том, как я могу управлять навигацией по страницам, потому что для этого я использую C # selenium.Я хочу начать запись исполнения, выполнить некоторые шаги с помощью веб-драйвера, остановить запись и измерить производительность.

1 Ответ

0 голосов
/ 12 марта 2019

Есть два способа сделать это:

Первый:

Я бы порекомендовал посмотреть на кукловод .Это проект, сделанный ребятами из Google Chrome, и он поддерживает tracing.Как вы можете видеть здесь https://pptr.dev/#?product=Puppeteer&version=v1.13.0&show=api-class-tracing у них есть способ получить сгенерированную трассировку , и вы должны просто записать ее на свой компьютер, чтобы иметь возможность использовать ее позже.

Вызов tracing.start({}) использует path, который определяет файл для записи трассировки.

Вызов tracing.stop() может быть очень легко интегрирован с библиотекой fs для преобразования Bufferвывод в файл, который позже вы можете прочитать с помощью chrome dev tools на тот случай, если вы не захотите использовать функцию запуска с параметром path.

Единственным недостатком является то, что вы не можете на самом делеиспользуйте сценарий Selenium повторно, и вам придется начинать более или менее с нуля, даже несмотря на то, что Puppeteer утверждает, что это проще.

Второй (чуть более сложный):

Используйте что-то похожее на эту библиотеку.https://github.com/paulirish/automated-chrome-profiling

Он написан на JS и работает отлично, как и ожидалось в примере, если вы выполните шаги установки пакета, а затем выполните команду node get-timeline-trace.js и загрузите сгенерированный файл (profile-XXXXXXXX.devtools.trace) к профилировщику chrome у вас будет очень хороший отчет.

Единственная проблема, которую я вижу, состоит в том, что вам нужно будет найти способ выполнить ваши сценарии selenium, передав ему экземпляр chrome, и я нене знаю, как легко это может быть (возможно, это может сделать PID?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...