We await the predicate now. For synchronous predicates,
nothing should change becase the await will finish before
the next protocol message arrives (thanks to `makeWaitForNextTask`).
This changes the root object from RemoteBrowser to Playwright,
similar to local driver connection. This way, any remote connection
gets a Playwright object.
This also starts reusing PlaywrightServer class, and introduces
`cli run-server` hidden command that runs ws server on the
specified port.
Previous structure:
```
RemoteBrowser
- browser (using ConnectedBrowser for remote-specific behavior)
- selectors (special instance for this remote connection)
```
New structure:
```
Playwright
- ...
- selectors (special instance for this remote connection)
- preLaunchedBrowser (using ConnectedBrowser for remote-specific behavior)
```
This makes it much nicer to use `BrowserType` because it no longer has a template.
Technically a breaking change because of the rare edge case where someone used their own non-browser type inside the template, but I don't consider that intended behavior and think this is fine.
New folio changed the JSON report, so we have to keep with the changes.
The most notable changes:
- there are no parameters any more. We recreate these as `testInfo.data`
arguments that are saved under test result's data.
- `test.runs` are renamed into `test.results`
I didn't find other changes so far - let's see if this works in the
cloud!
This is a small change to show that ffmpeg is a supported browser parameter
value in the script usage. Although, the whole file should probably be
refactored now to something more generic like roll_download.js since ffmpeg
is just reusing the logic and isn't a browser.
Turns out Azure Pipelines is doing a few modifications to the base
container. One of the important modification is that they add a new
user to the container that has a passwordless sudo permissions. This
user is used later on to run all the pipeline steps.
This patch makes sure our shared registry inside the docker containers
is accessible to all the users.
Fixes#5635