Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for all step "types" in the recorder #1

Open
10 of 14 tasks
tkadlec opened this issue Mar 16, 2022 · 2 comments
Open
10 of 14 tasks

Add support for all step "types" in the recorder #1

tkadlec opened this issue Mar 16, 2022 · 2 comments

Comments

@tkadlec
Copy link
Contributor

tkadlec commented Mar 16, 2022

There are a few different "step types" currently supported by the Chrome recorder. We should try to add support for each. https://chromium.googlesource.com/devtools/devtools-frontend/+/2df2aa4747ee6254c7fb8161092a61bb01cc7f45/front_end/models/recorder/RecordingScriptWriter.ts#78
This link is old, will update a new link here.

  • navigate
  • click
  • doubleClick
  • hover (WPT does not support hover event through custom script, need to fix this)
  • change
  • keydown
  • keyup
  • scroll
  • waitForElement
  • waitForExpression
  • setViewport
  • close (probably don't need this in the context of WebPageTest as it looks like it's just closing the page?)
  • emulateNetworkConditions (probably don't need this as we can just let them choose connectivity via WebPageTest)
  • customStep (Here we can add all the supported and useful events by WPT)
@pmeenan
Copy link

pmeenan commented Mar 16, 2022

WPT has some level of support for most of those actions (including keyboard input from puppeteer as part of the "type" command). The more complex part is going to be the params that go with the command and making them work the same way.

I believe the script recorder includes coordinates for some of the commands (including click) so the viewport will need to match exactly.

@tkadlec
Copy link
Contributor Author

tkadlec commented Mar 16, 2022

I don't think we need the coordinates in most situations. I've been using the selectors provided and that seems to be getting the job done.

Obviously need to play more to iron out an edge cases though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants