40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# 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
|
|
```
|