fix(tracing): explicitly list actions to snapshot (#7376)
This commit is contained in:
parent
3ce1f5c33e
commit
b1d66d54f0
|
|
@ -3235,3 +3235,73 @@ export type SocksSocketConnectedResult = void;
|
||||||
export type SocksSocketEndParams = {};
|
export type SocksSocketEndParams = {};
|
||||||
export type SocksSocketEndOptions = {};
|
export type SocksSocketEndOptions = {};
|
||||||
export type SocksSocketEndResult = void;
|
export type SocksSocketEndResult = void;
|
||||||
|
|
||||||
|
export const commandsWithTracingSnapshots = new Set([
|
||||||
|
'Page.goBack',
|
||||||
|
'Page.goForward',
|
||||||
|
'Page.reload',
|
||||||
|
'Page.setViewportSize',
|
||||||
|
'Page.keyboardDown',
|
||||||
|
'Page.keyboardUp',
|
||||||
|
'Page.keyboardInsertText',
|
||||||
|
'Page.keyboardType',
|
||||||
|
'Page.keyboardPress',
|
||||||
|
'Page.mouseMove',
|
||||||
|
'Page.mouseDown',
|
||||||
|
'Page.mouseUp',
|
||||||
|
'Page.mouseClick',
|
||||||
|
'Page.touchscreenTap',
|
||||||
|
'Frame.evalOnSelector',
|
||||||
|
'Frame.evalOnSelectorAll',
|
||||||
|
'Frame.addScriptTag',
|
||||||
|
'Frame.addStyleTag',
|
||||||
|
'Frame.check',
|
||||||
|
'Frame.click',
|
||||||
|
'Frame.dblclick',
|
||||||
|
'Frame.dispatchEvent',
|
||||||
|
'Frame.evaluateExpression',
|
||||||
|
'Frame.evaluateExpressionHandle',
|
||||||
|
'Frame.fill',
|
||||||
|
'Frame.focus',
|
||||||
|
'Frame.getAttribute',
|
||||||
|
'Frame.goto',
|
||||||
|
'Frame.hover',
|
||||||
|
'Frame.innerHTML',
|
||||||
|
'Frame.innerText',
|
||||||
|
'Frame.inputValue',
|
||||||
|
'Frame.isChecked',
|
||||||
|
'Frame.isDisabled',
|
||||||
|
'Frame.isEnabled',
|
||||||
|
'Frame.isHidden',
|
||||||
|
'Frame.isEditable',
|
||||||
|
'Frame.press',
|
||||||
|
'Frame.selectOption',
|
||||||
|
'Frame.setContent',
|
||||||
|
'Frame.setInputFiles',
|
||||||
|
'Frame.tap',
|
||||||
|
'Frame.textContent',
|
||||||
|
'Frame.type',
|
||||||
|
'Frame.uncheck',
|
||||||
|
'Frame.waitForFunction',
|
||||||
|
'Frame.waitForSelector',
|
||||||
|
'JSHandle.evaluateExpression',
|
||||||
|
'JSHandle.evaluateExpressionHandle',
|
||||||
|
'ElementHandle.evalOnSelector',
|
||||||
|
'ElementHandle.evalOnSelectorAll',
|
||||||
|
'ElementHandle.check',
|
||||||
|
'ElementHandle.click',
|
||||||
|
'ElementHandle.dblclick',
|
||||||
|
'ElementHandle.dispatchEvent',
|
||||||
|
'ElementHandle.fill',
|
||||||
|
'ElementHandle.hover',
|
||||||
|
'ElementHandle.press',
|
||||||
|
'ElementHandle.scrollIntoViewIfNeeded',
|
||||||
|
'ElementHandle.selectOption',
|
||||||
|
'ElementHandle.selectText',
|
||||||
|
'ElementHandle.setInputFiles',
|
||||||
|
'ElementHandle.tap',
|
||||||
|
'ElementHandle.type',
|
||||||
|
'ElementHandle.uncheck',
|
||||||
|
'ElementHandle.waitForElementState',
|
||||||
|
'ElementHandle.waitForSelector'
|
||||||
|
]);
|
||||||
|
|
@ -764,6 +764,8 @@ Page:
|
||||||
- networkidle
|
- networkidle
|
||||||
returns:
|
returns:
|
||||||
response: Response?
|
response: Response?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
goForward:
|
goForward:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -776,6 +778,8 @@ Page:
|
||||||
- networkidle
|
- networkidle
|
||||||
returns:
|
returns:
|
||||||
response: Response?
|
response: Response?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
reload:
|
reload:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -788,6 +792,8 @@ Page:
|
||||||
- networkidle
|
- networkidle
|
||||||
returns:
|
returns:
|
||||||
response: Response?
|
response: Response?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
screenshot:
|
screenshot:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -821,34 +827,48 @@ Page:
|
||||||
properties:
|
properties:
|
||||||
width: number
|
width: number
|
||||||
height: number
|
height: number
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
keyboardDown:
|
keyboardDown:
|
||||||
parameters:
|
parameters:
|
||||||
key: string
|
key: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
keyboardUp:
|
keyboardUp:
|
||||||
parameters:
|
parameters:
|
||||||
key: string
|
key: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
keyboardInsertText:
|
keyboardInsertText:
|
||||||
parameters:
|
parameters:
|
||||||
text: string
|
text: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
keyboardType:
|
keyboardType:
|
||||||
parameters:
|
parameters:
|
||||||
text: string
|
text: string
|
||||||
delay: number?
|
delay: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
keyboardPress:
|
keyboardPress:
|
||||||
parameters:
|
parameters:
|
||||||
key: string
|
key: string
|
||||||
delay: number?
|
delay: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
mouseMove:
|
mouseMove:
|
||||||
parameters:
|
parameters:
|
||||||
x: number
|
x: number
|
||||||
y: number
|
y: number
|
||||||
steps: number?
|
steps: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
mouseDown:
|
mouseDown:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -859,6 +879,8 @@ Page:
|
||||||
- right
|
- right
|
||||||
- middle
|
- middle
|
||||||
clickCount: number?
|
clickCount: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
mouseUp:
|
mouseUp:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -869,6 +891,8 @@ Page:
|
||||||
- right
|
- right
|
||||||
- middle
|
- middle
|
||||||
clickCount: number?
|
clickCount: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
mouseClick:
|
mouseClick:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -882,11 +906,15 @@ Page:
|
||||||
- right
|
- right
|
||||||
- middle
|
- middle
|
||||||
clickCount: number?
|
clickCount: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
touchscreenTap:
|
touchscreenTap:
|
||||||
parameters:
|
parameters:
|
||||||
x: number
|
x: number
|
||||||
y: number
|
y: number
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
accessibilitySnapshot:
|
accessibilitySnapshot:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1062,6 +1090,8 @@ Frame:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
evalOnSelectorAll:
|
evalOnSelectorAll:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1071,6 +1101,8 @@ Frame:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
addScriptTag:
|
addScriptTag:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1079,6 +1111,8 @@ Frame:
|
||||||
type: string?
|
type: string?
|
||||||
returns:
|
returns:
|
||||||
element: ElementHandle
|
element: ElementHandle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
addStyleTag:
|
addStyleTag:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1086,6 +1120,8 @@ Frame:
|
||||||
content: string?
|
content: string?
|
||||||
returns:
|
returns:
|
||||||
element: ElementHandle
|
element: ElementHandle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
check:
|
check:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1095,6 +1131,8 @@ Frame:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
click:
|
click:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1121,6 +1159,8 @@ Frame:
|
||||||
clickCount: number?
|
clickCount: number?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
content:
|
content:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1150,6 +1190,8 @@ Frame:
|
||||||
- middle
|
- middle
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
dispatchEvent:
|
dispatchEvent:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1157,6 +1199,8 @@ Frame:
|
||||||
type: string
|
type: string
|
||||||
eventInit: SerializedArgument
|
eventInit: SerializedArgument
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
evaluateExpression:
|
evaluateExpression:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1165,6 +1209,8 @@ Frame:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
evaluateExpressionHandle:
|
evaluateExpressionHandle:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1173,6 +1219,8 @@ Frame:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
handle: JSHandle
|
handle: JSHandle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
fill:
|
fill:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1181,11 +1229,15 @@ Frame:
|
||||||
force: boolean?
|
force: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
focus:
|
focus:
|
||||||
parameters:
|
parameters:
|
||||||
selector: string
|
selector: string
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
frameElement:
|
frameElement:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1198,6 +1250,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: string?
|
value: string?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
goto:
|
goto:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1212,6 +1266,8 @@ Frame:
|
||||||
referer: string?
|
referer: string?
|
||||||
returns:
|
returns:
|
||||||
response: Response?
|
response: Response?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
hover:
|
hover:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1229,6 +1285,8 @@ Frame:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
innerHTML:
|
innerHTML:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1236,6 +1294,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: string
|
value: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
innerText:
|
innerText:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1243,6 +1303,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: string
|
value: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
inputValue:
|
inputValue:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1250,6 +1312,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: string
|
value: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
isChecked:
|
isChecked:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1257,6 +1321,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: boolean
|
value: boolean
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
isDisabled:
|
isDisabled:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1264,6 +1330,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: boolean
|
value: boolean
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
isEnabled:
|
isEnabled:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1271,6 +1339,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: boolean
|
value: boolean
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
isHidden:
|
isHidden:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1278,6 +1348,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: boolean
|
value: boolean
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
isVisible:
|
isVisible:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1292,6 +1364,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: boolean
|
value: boolean
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
press:
|
press:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1300,6 +1374,8 @@ Frame:
|
||||||
delay: number?
|
delay: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
querySelector:
|
querySelector:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1336,6 +1412,8 @@ Frame:
|
||||||
values:
|
values:
|
||||||
type: array
|
type: array
|
||||||
items: string
|
items: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
setContent:
|
setContent:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1347,6 +1425,8 @@ Frame:
|
||||||
- load
|
- load
|
||||||
- domcontentloaded
|
- domcontentloaded
|
||||||
- networkidle
|
- networkidle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
setInputFiles:
|
setInputFiles:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1361,6 +1441,8 @@ Frame:
|
||||||
buffer: binary
|
buffer: binary
|
||||||
timeout: number?
|
timeout: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
tap:
|
tap:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1379,6 +1461,8 @@ Frame:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
textContent:
|
textContent:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1386,6 +1470,8 @@ Frame:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
returns:
|
returns:
|
||||||
value: string?
|
value: string?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
title:
|
title:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1398,6 +1484,8 @@ Frame:
|
||||||
delay: number?
|
delay: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
uncheck:
|
uncheck:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1407,6 +1495,8 @@ Frame:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
waitForFunction:
|
waitForFunction:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1418,6 +1508,8 @@ Frame:
|
||||||
pollingInterval: number?
|
pollingInterval: number?
|
||||||
returns:
|
returns:
|
||||||
handle: JSHandle
|
handle: JSHandle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
waitForSelector:
|
waitForSelector:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1432,6 +1524,8 @@ Frame:
|
||||||
- hidden
|
- hidden
|
||||||
returns:
|
returns:
|
||||||
element: ElementHandle?
|
element: ElementHandle?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
events:
|
events:
|
||||||
|
|
||||||
|
|
@ -1508,6 +1602,8 @@ JSHandle:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
evaluateExpressionHandle:
|
evaluateExpressionHandle:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1516,6 +1612,8 @@ JSHandle:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
handle: JSHandle
|
handle: JSHandle
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
getPropertyList:
|
getPropertyList:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1560,6 +1658,8 @@ ElementHandle:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
evalOnSelectorAll:
|
evalOnSelectorAll:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1569,6 +1669,8 @@ ElementHandle:
|
||||||
arg: SerializedArgument
|
arg: SerializedArgument
|
||||||
returns:
|
returns:
|
||||||
value: SerializedValue
|
value: SerializedValue
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
boundingBox:
|
boundingBox:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1581,6 +1683,8 @@ ElementHandle:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
click:
|
click:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1606,6 +1710,8 @@ ElementHandle:
|
||||||
clickCount: number?
|
clickCount: number?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
contentFrame:
|
contentFrame:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1634,11 +1740,15 @@ ElementHandle:
|
||||||
- middle
|
- middle
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
dispatchEvent:
|
dispatchEvent:
|
||||||
parameters:
|
parameters:
|
||||||
type: string
|
type: string
|
||||||
eventInit: SerializedArgument
|
eventInit: SerializedArgument
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
fill:
|
fill:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1646,6 +1756,8 @@ ElementHandle:
|
||||||
force: boolean?
|
force: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
focus:
|
focus:
|
||||||
|
|
||||||
|
|
@ -1670,6 +1782,8 @@ ElementHandle:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
innerHTML:
|
innerHTML:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1717,6 +1831,8 @@ ElementHandle:
|
||||||
delay: number?
|
delay: number?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
querySelector:
|
querySelector:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1748,6 +1864,8 @@ ElementHandle:
|
||||||
scrollIntoViewIfNeeded:
|
scrollIntoViewIfNeeded:
|
||||||
parameters:
|
parameters:
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
selectOption:
|
selectOption:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1769,11 +1887,15 @@ ElementHandle:
|
||||||
values:
|
values:
|
||||||
type: array
|
type: array
|
||||||
items: string
|
items: string
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
selectText:
|
selectText:
|
||||||
parameters:
|
parameters:
|
||||||
force: boolean?
|
force: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
setInputFiles:
|
setInputFiles:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1787,6 +1909,8 @@ ElementHandle:
|
||||||
buffer: binary
|
buffer: binary
|
||||||
timeout: number?
|
timeout: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
tap:
|
tap:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1804,6 +1928,8 @@ ElementHandle:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
textContent:
|
textContent:
|
||||||
returns:
|
returns:
|
||||||
|
|
@ -1815,6 +1941,8 @@ ElementHandle:
|
||||||
delay: number?
|
delay: number?
|
||||||
noWaitAfter: boolean?
|
noWaitAfter: boolean?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
uncheck:
|
uncheck:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1823,6 +1951,8 @@ ElementHandle:
|
||||||
position: Point?
|
position: Point?
|
||||||
timeout: number?
|
timeout: number?
|
||||||
trial: boolean?
|
trial: boolean?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
waitForElementState:
|
waitForElementState:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1836,6 +1966,8 @@ ElementHandle:
|
||||||
- disabled
|
- disabled
|
||||||
- editable
|
- editable
|
||||||
timeout: number?
|
timeout: number?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
waitForSelector:
|
waitForSelector:
|
||||||
parameters:
|
parameters:
|
||||||
|
|
@ -1850,6 +1982,8 @@ ElementHandle:
|
||||||
- hidden
|
- hidden
|
||||||
returns:
|
returns:
|
||||||
element: ElementHandle?
|
element: ElementHandle?
|
||||||
|
tracing:
|
||||||
|
snapshot: true
|
||||||
|
|
||||||
|
|
||||||
Request:
|
Request:
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ export type ScreencastFrameTraceEvent = {
|
||||||
|
|
||||||
export type ActionTraceEvent = {
|
export type ActionTraceEvent = {
|
||||||
type: 'action' | 'event',
|
type: 'action' | 'event',
|
||||||
|
hasSnapshot: boolean,
|
||||||
metadata: CallMetadata,
|
metadata: CallMetadata,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import { CallMetadata, InstrumentationListener, SdkObject } from '../../instrume
|
||||||
import { Page } from '../../page';
|
import { Page } from '../../page';
|
||||||
import * as trace from '../common/traceEvents';
|
import * as trace from '../common/traceEvents';
|
||||||
import { TraceSnapshotter } from './traceSnapshotter';
|
import { TraceSnapshotter } from './traceSnapshotter';
|
||||||
import { Dialog } from '../../dialog';
|
import { commandsWithTracingSnapshots } from '../../../protocol/channels';
|
||||||
|
|
||||||
export type TracerOptions = {
|
export type TracerOptions = {
|
||||||
name?: string;
|
name?: string;
|
||||||
|
|
@ -133,13 +133,8 @@ export class Tracing implements InstrumentationListener {
|
||||||
return;
|
return;
|
||||||
if (!this._snapshotter.started())
|
if (!this._snapshotter.started())
|
||||||
return;
|
return;
|
||||||
|
if (!this._shouldCaptureSnapshot(metadata))
|
||||||
if (sdkObject instanceof Dialog && name === 'before') {
|
|
||||||
// A call on the dialog is going to dismiss it and resume the evaluation.
|
|
||||||
// We can't be capturing the snapshot before dismiss action is performed.
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
const snapshotName = `${name}@${metadata.id}`;
|
const snapshotName = `${name}@${metadata.id}`;
|
||||||
metadata.snapshots.push({ title: name, snapshotName });
|
metadata.snapshots.push({ title: name, snapshotName });
|
||||||
await this._snapshotter!.captureSnapshot(sdkObject.attribution.page, snapshotName, element);
|
await this._snapshotter!.captureSnapshot(sdkObject.attribution.page, snapshotName, element);
|
||||||
|
|
@ -167,7 +162,7 @@ export class Tracing implements InstrumentationListener {
|
||||||
}
|
}
|
||||||
pendingCall.afterSnapshot = this._captureSnapshot('after', sdkObject, metadata);
|
pendingCall.afterSnapshot = this._captureSnapshot('after', sdkObject, metadata);
|
||||||
await pendingCall.afterSnapshot;
|
await pendingCall.afterSnapshot;
|
||||||
const event: trace.ActionTraceEvent = { type: 'action', metadata };
|
const event: trace.ActionTraceEvent = { type: 'action', metadata, hasSnapshot: this._shouldCaptureSnapshot(metadata) };
|
||||||
this._appendTraceEvent(event);
|
this._appendTraceEvent(event);
|
||||||
this._pendingCalls.delete(metadata.id);
|
this._pendingCalls.delete(metadata.id);
|
||||||
}
|
}
|
||||||
|
|
@ -175,7 +170,7 @@ export class Tracing implements InstrumentationListener {
|
||||||
onEvent(sdkObject: SdkObject, metadata: CallMetadata) {
|
onEvent(sdkObject: SdkObject, metadata: CallMetadata) {
|
||||||
if (!sdkObject.attribution.page)
|
if (!sdkObject.attribution.page)
|
||||||
return;
|
return;
|
||||||
const event: trace.ActionTraceEvent = { type: 'event', metadata };
|
const event: trace.ActionTraceEvent = { type: 'event', metadata, hasSnapshot: false };
|
||||||
this._appendTraceEvent(event);
|
this._appendTraceEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -230,4 +225,8 @@ export class Tracing implements InstrumentationListener {
|
||||||
await fs.promises.appendFile(this._traceFile!, JSON.stringify(event) + '\n');
|
await fs.promises.appendFile(this._traceFile!, JSON.stringify(event) + '\n');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _shouldCaptureSnapshot(metadata: CallMetadata): boolean {
|
||||||
|
return commandsWithTracingSnapshots.has(metadata.type + '.' + metadata.method);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,8 @@ export class TraceModel {
|
||||||
}
|
}
|
||||||
case 'action': {
|
case 'action': {
|
||||||
const metadata = event.metadata;
|
const metadata = event.metadata;
|
||||||
if (metadata.pageId)
|
const include = typeof event.hasSnapshot !== 'boolean' || event.hasSnapshot;
|
||||||
|
if (include && metadata.pageId)
|
||||||
this._pageEntry(metadata.pageId).actions.push(event);
|
this._pageEntry(metadata.pageId).actions.push(event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -167,6 +167,8 @@ export function createScheme(tChannel: (name: string) => Validator): Scheme {
|
||||||
};
|
};
|
||||||
`];
|
`];
|
||||||
|
|
||||||
|
const tracingSnapshots = [];
|
||||||
|
|
||||||
const yml = fs.readFileSync(path.join(__dirname, '..', 'src', 'protocol', 'protocol.yml'), 'utf-8');
|
const yml = fs.readFileSync(path.join(__dirname, '..', 'src', 'protocol', 'protocol.yml'), 'utf-8');
|
||||||
const protocol = yaml.parse(yml);
|
const protocol = yaml.parse(yml);
|
||||||
|
|
||||||
|
|
@ -208,6 +210,8 @@ for (const [name, item] of Object.entries(protocol)) {
|
||||||
for (let [methodName, method] of Object.entries(item.commands || {})) {
|
for (let [methodName, method] of Object.entries(item.commands || {})) {
|
||||||
if (method === null)
|
if (method === null)
|
||||||
method = {};
|
method = {};
|
||||||
|
if (method.tracing && method.tracing.snapshot)
|
||||||
|
tracingSnapshots.push(name + '.' + methodName);
|
||||||
const parameters = objectType(method.parameters || {}, '');
|
const parameters = objectType(method.parameters || {}, '');
|
||||||
const paramsName = `${channelName}${titleCase(methodName)}Params`;
|
const paramsName = `${channelName}${titleCase(methodName)}Params`;
|
||||||
const optionsName = `${channelName}${titleCase(methodName)}Options`;
|
const optionsName = `${channelName}${titleCase(methodName)}Options`;
|
||||||
|
|
@ -238,6 +242,10 @@ for (const [name, item] of Object.entries(protocol)) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
channels_ts.push(`export const commandsWithTracingSnapshots = new Set([
|
||||||
|
'${tracingSnapshots.join(`',\n '`)}'
|
||||||
|
]);`);
|
||||||
|
|
||||||
validator_ts.push(`
|
validator_ts.push(`
|
||||||
return scheme;
|
return scheme;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue