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 stackTrace : { callFrames : [ ] } text : Uncaught (in promise) } result : { description : 239 type : number value : 239 } } } 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 } } }