Tests that Runtime.evaluate works with awaitPromise flag. Running test: testResolvedPromise { id : result : { result : { description : 239 type : number value : 239 } } } Running test: testRejectedPromise { id : result : { exceptionDetails : { columnNumber : 0 exception : { description : 239 type : number value : 239 } exceptionId : lineNumber : 0 text : Uncaught (in promise) } result : { description : 239 type : number value : 239 } } } Running test: testRejectedPromiseWithError { id : result : { exceptionDetails : { columnNumber : 11 exception : { className : Error description : Error: MyError at foo (:13:11) at throwError (:15:3) at objectId : subtype : error type : object } exceptionId : lineNumber : 13 scriptId : stackTrace : { callFrames : [ [0] : { columnNumber : 10 functionName : foo lineNumber : 12 scriptId : url : } [1] : { columnNumber : 2 functionName : throwError lineNumber : 14 scriptId : url : } ] } text : Uncaught (in promise) Error: MyError } result : { className : Error description : Error: MyError at foo (:13:11) at throwError (:15:3) at objectId : subtype : error type : object } } } Running test: testRejectedPromiseWithSyntaxError { id : result : { exceptionDetails : { columnNumber : 5 exception : { className : SyntaxError description : SyntaxError: Unexpected token } at foo (:21:5) at throwSyntaxError (:23:3) at objectId : subtype : error type : object } exceptionId : lineNumber : 21 scriptId : stackTrace : { callFrames : [ [0] : { columnNumber : 4 functionName : foo lineNumber : 20 scriptId : url : } [1] : { columnNumber : 2 functionName : throwSyntaxError lineNumber : 22 scriptId : url : } ] } text : Uncaught (in promise) SyntaxError: Unexpected token } } result : { className : SyntaxError description : SyntaxError: Unexpected token } at foo (:21:5) at throwSyntaxError (:23:3) at objectId : subtype : error type : object } } } Running test: testPrimitiveValueInsteadOfPromise { error : { code : -32000 message : Result of the evaluation is not a promise } id : } Running test: testObjectInsteadOfPromise { error : { code : -32000 message : Result of the evaluation is not a promise } id : } Running test: testPendingPromise { id : result : { result : { type : object value : { a : 239 } } } } Running test: testExceptionInEvaluate { id : result : { exceptionDetails : { columnNumber : 0 exception : { description : 239 type : number value : 239 } exceptionId : lineNumber : 0 scriptId : text : Uncaught } result : { description : 239 type : number value : 239 } } }