OLD | NEW |
---|---|
(Empty) | |
1 (async function(testRunner) { | |
2 let {page, session, dp} = await testRunner.startHTML(` | |
3 <iframe src='data:text/html,<script>window.foo = 42</script>' name='frame0'> </iframe> | |
4 `, ''); | |
5 | |
6 function performActions() { | |
7 var frame1 = document.createElement('iframe'); | |
8 frame1.name = 'Frame No. 1'; | |
9 document.body.appendChild(frame1); | |
10 frame1.contentWindow.document.write('console.log("frame2")'); | |
11 | |
12 var frame2 = document.createElement('iframe'); | |
13 frame2.src = 'blank.html'; | |
14 document.body.appendChild(frame2); | |
15 | |
16 return new Promise(fulfill => { frame2.addEventListener('load', fulfill, fal se) }); | |
17 } | |
18 | |
19 var tracingHelper = (await testRunner.loadScript('../resources/tracing-test.js '))(testRunner, session); | |
20 await session.evaluate(performActions.toString()); | |
21 tracingHelper.invokeAsyncWithTracing('performActions', finish); | |
caseq
2017/06/22 19:32:41
nit: I'd put those as await new Promise(fulfill =>
dgozman
2017/06/22 21:48:56
Done.
| |
22 | |
23 function finish(devtoolsEvents, data) { | |
24 testRunner.log('Frames in TracingStartedInPage'); | |
25 var tracingStarted = tracingHelper.findEvent('TracingStartedInPage', 'I'); | |
26 for (var frame of tracingStarted.args['data']['frames'] || []) | |
27 dumpFrame(frame); | |
caseq
2017/06/22 19:32:41
indent (or forEach)
dgozman
2017/06/22 21:48:55
Done.
| |
28 | |
29 testRunner.log('Frames in CommitLoad events'); | |
30 var commitLoads = tracingHelper.findEvents('CommitLoad', 'X'); | |
31 for (var event of commitLoads) | |
32 dumpFrame(event.args['data']); | |
caseq
2017/06/22 19:32:41
ditto.
| |
33 testRunner.completeTest(); | |
34 } | |
35 | |
36 function dumpFrame(frame) { | |
37 var url = frame.url.replace(/.*\/(([^/]*\/){2}[^/]*$)/, '$1'); | |
38 testRunner.log(`url: ${url} name: ${frame.name} parent: ${typeof frame.paren t} nodeId: ${typeof frame.nodeId}`); | |
39 } | |
40 }) | |
OLD | NEW |