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 |