Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 (async function(testRunner) { | |
| 2 let {page, session, dp} = await testRunner.startBlank(''); | |
|
chenwilliam
2017/06/30 20:23:27
dp stands for Debugger Protocol? Personally, I don
| |
| 3 | |
| 4 function logErrorResponse(response) { | |
| 5 if (response.error) { | |
| 6 if (response.error.message.indexOf('Can only perform operation while pause d.') != -1) { | |
| 7 testRunner.log('PASS, error message as expected'); | |
| 8 return; | |
| 9 } | |
| 10 } | |
| 11 testRunner.log('FAIL, unexpected error message'); | |
| 12 testRunner.log(JSON.stringify(response)); | |
| 13 } | |
| 14 | |
| 15 dp.Debugger.enable(); | |
| 16 dp.Runtime.evaluate({expression: 'setTimeout(() => { debugger; }, 0)' }); | |
| 17 | |
| 18 var messageObject = await dp.Debugger.oncePaused(); | |
| 19 testRunner.log(`Paused on 'debugger;'`); | |
| 20 var topFrame = messageObject.params.callFrames[0]; | |
| 21 var obsoleteTopFrameId = topFrame.callFrameId; | |
| 22 | |
| 23 await dp.Debugger.resume(); | |
| 24 testRunner.log('resume'); | |
| 25 testRunner.log('restartFrame'); | |
| 26 | |
| 27 logErrorResponse(await dp.Debugger.restartFrame({callFrameId: obsoleteTopFrame Id})); | |
| 28 testRunner.log('evaluateOnFrame'); | |
| 29 | |
| 30 logErrorResponse(await dp.Debugger.evaluateOnCallFrame({callFrameId: obsoleteT opFrameId, expression: '0'})); | |
| 31 testRunner.log('setVariableValue'); | |
| 32 | |
| 33 logErrorResponse(await dp.Debugger.setVariableValue({callFrameId: obsoleteTopF rameId, scopeNumber: 0, variableName: 'a', newValue: { value: 0 }})); | |
| 34 testRunner.completeTest(); | |
| 35 }) | |
| OLD | NEW |