Lauro Moura 74809f681a [WPE][WebDriver] Basic fullscreen support for the headless backend

Reviewed by Adrian Perez de Castro.


r280774 added support for fullscreen in the WindowViewBackend, but
many webdriver tests started failing as they run in the headless

This commits adds basic support in HeadlessBackend to make some
tests pass. Currently, just storing the fullscreen state and
forwarding the events to the WPE backend functions.

A number of tests are still failing due to the missing multiple window
support (required through the `session` fixtures), but also there are
still some failing that expect the view to be started in
non-fullscreen mode, which does not happen in the headless backend.

* wpe/backends/HeadlessViewBackend.cpp:
* wpe/backends/HeadlessViewBackend.h:


* TestExpectations.json: Skip some tests still failing, mainly due to multiple window support missing.

Canonical link: https://commits.webkit.org/240817@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-08-23 01:41:34 +00:00
imported [WebDriver] Update config.json after tools update in r269235 2020-11-03 15:11:47 +00:00
ChangeLog [WPE][WebDriver] Basic fullscreen support for the headless backend 2021-08-23 01:41:34 +00:00
README.md [WebDriver] Add info about importing tests 2021-01-22 08:52:37 +00:00
TestExpectations.json [WPE][WebDriver] Basic fullscreen support for the headless backend 2021-08-23 01:41:34 +00:00


WebDriver tests

Importing tests

There is the import-webdriver-tests script to automate most of the process of checking out the repository and copying the files.

It reads the importer.json of the selected suite (selenium or w3c), which contains the desired commit alongside the list of paths to skip/import.

The cloned repository sits in WebKitBuild/ for easier inspection. For example, to manually check the new commit to be imported.

Once chosen the new commit, update importer.json with its hash and eventual path changes (e.g., new folders to be copied or skipped) and run the import script to update the desired suite:

./Tools/Scripts/import-webdriver-tests --selenium`
./Tools/Scripts/import-webdriver-tests --w3c`

After running the script, if you're using git, you can check which files were added with git status WebDriverTests/ to add them to the new commit. One current limitation of the script is its inability to check for deleted files from the source repository, so this step is still manual.

Beware that when importing Selenium tests, some manual intervention might be needed to remove unsupported code related to Firefox, Chrome, etc. For example:

  • Package imports in WebDriverTests/imported/selenium/py/selenium/webdriver/__init__.py.
  • RemoteConnection objects in WebDriverTests/imported/selenium/py/selenium/webdriver/remote/webdriver.py.

To test the imported suite, run it:

Tools/Scripts/run-webdriver-tests --verbose --wpe --release --display-server=xvfb