@@ -80,8 +80,9 @@ async function testEnd2End() {
80
80
const driver = await new Builder ( ) . withCapabilities ( capabilities ) . build ( ) ;
81
81
let results ;
82
82
try {
83
- console . log ( "Preparing JetStream" ) ;
84
- await driver . get ( `http://localhost:${ PORT } /index.html?worstCaseCount=2&iterationCount=3` ) ;
83
+ const url = `http://localhost:${ PORT } /index.html?worstCaseCount=2&iterationCount=3` ;
84
+ console . log ( `JetStream PREPARE ${ url } ` ) ;
85
+ await driver . get ( url ) ;
85
86
await driver . executeAsyncScript ( ( callback ) => {
86
87
globalThis . addEventListener ( "JetStreamReady" , ( ) => callback ( ) ) ;
87
88
// We might not get a chance to install the on-ready listener, thus
@@ -99,34 +100,27 @@ async function testEnd2End() {
99
100
}
100
101
101
102
async function benchmarkResults ( driver ) {
102
- console . log ( "Starting JetStream" ) ;
103
+ console . log ( "JetStream START " ) ;
103
104
await driver . manage ( ) . setTimeouts ( { script : 60_000 } ) ;
104
- await driver . executeScript ( ( ) => {
105
- globalThis . JetStreamDone = false ;
106
- globalThis . JetStreamResults = [ ] ;
107
- globalThis . addEventListener ( "JetStreamDone" , event => {
108
- globalThis . JetStreamDone = true ;
109
- } ) ;
110
- globalThis . addEventListener ( "JetStreamBenchmarkDone" , event => {
111
- globalThis . JetStreamResults . push ( event . detail ) ;
112
- } ) ;
113
- JetStream . start ( ) ;
105
+ await driver . executeAsyncScript ( ( callback ) => {
106
+ globalThis . JetStream . start ( ) ;
107
+ callback ( ) ;
114
108
} ) ;
115
109
await new Promise ( resolve => pollIncrementalResults ( driver , resolve ) ) ;
116
110
const resultString = await driver . executeScript ( ( ) => {
117
- return JSON . stringify ( JetStream . resultsObject ( ) ) ;
111
+ return JSON . stringify ( globalThis . JetStream . resultsObject ( ) ) ;
118
112
} ) ;
119
113
return JSON . parse ( resultString ) ;
120
114
}
121
115
122
116
const UPDATE_INTERVAL = 250 ;
123
117
async function pollIncrementalResults ( driver , resolve ) {
124
118
const intervalId = setInterval ( async function logResult ( ) {
125
- const { done, results} = await driver . executeAsyncScript ( ( callback ) => {
126
- callback ( {
127
- done : globalThis . JetStreamDone ,
128
- results : JSON . stringify ( globalThis . JetStreamResults . splice ( 0 , Infinity ) ) ,
129
- } ) ;
119
+ const { done, results} = await driver . executeScript ( ( ) => {
120
+ return {
121
+ done : globalThis . JetStream . isDone ,
122
+ results : JSON . stringify ( globalThis . JetStream . drainIncrementalResults ( ) ) ,
123
+ } ;
130
124
} ) ;
131
125
JSON . parse ( results ) . forEach ( logIncrementalResult ) ;
132
126
if ( done ) {
0 commit comments