11import * as fs from 'fs' ;
2- import { harFromMessages } from 'chrome-har' ;
32import { TraceOperations } from './traceOperations' ;
43import { logger } from './utils/logger' ;
54import { NetworkConditions } from './interfaces/networkConditions' ;
65import { Har } from 'har-format' ;
76import { CDPClient } from './cdpClient' ;
8- import CDP from 'chrome-remote-interface' ;
97import Protocol from 'devtools-protocol' ;
8+ import { fromLog } from 'chrome-har-capturer' ;
9+ import { cdpConfig } from './config/cdpConfig' ;
1010
1111// event types to observe
1212const observe = [
1313 'Page.loadEventFired' ,
1414 'Page.domContentEventFired' ,
15+ 'Page.navigatedWithinDocument' ,
1516 'Page.frameStartedLoading' ,
16- 'Page.frameAttached' ,
17+ 'Page.frameAttached' ,
1718 'Network.requestWillBeSent' ,
1819 'Network.requestServedFromCache' ,
1920 'Network.dataReceived' ,
@@ -22,6 +23,13 @@ const observe = [
2223 'Network.loadingFinished' ,
2324 'Network.loadingFailed' ,
2425 'Network.requestFinished' ,
26+ 'Network.webSocketFrameReceived' ,
27+ 'Network.webSocketFrameSent' ,
28+ 'Network.getResponseBody' ,
29+ 'Network.webSocketWillSendHandshakeRequest' ,
30+ 'Network.webSocketHandshakeResponseReceived' ,
31+ 'Network.webSocketClosed' ,
32+ 'Network.resourceChangedPriority'
2533] ;
2634
2735export const NETWORK_PRESETS = {
@@ -78,11 +86,9 @@ export const NETWORK_PRESETS = {
7886export class Network extends TraceOperations {
7987 private _traceFileName : string ;
8088 protected _events : { method : string ; params : object } [ ] = [ ] ;
81- private _client : CDP . Client ;
8289
8390 constructor ( cdpClient : CDPClient , traceFileName = '' ) {
84- super ( ) ;
85- this . _client = cdpClient . get ( ) ;
91+ super ( cdpClient ) ;
8692 this . _traceFileName = traceFileName ;
8793 }
8894
@@ -113,9 +119,7 @@ export class Network extends TraceOperations {
113119 */
114120 public async stopTrace ( ) : Promise < Har > {
115121 try {
116- const har = await harFromMessages ( this . _events , {
117- includeTextFromResponseBody : true ,
118- } ) ;
122+ const har = await fromLog ( cdpConfig . url , this . _events ) ;
119123 if ( this . _traceFileName ) {
120124 fs . writeFileSync ( this . _traceFileName , JSON . stringify ( har ) ) ;
121125 }
0 commit comments