Development¶
To contribute to pytest-selenium you can use Hatch to manage a python virtual environment and pre-commit to help you with styling and formatting.
To setup the virtual environment and pre-commit, run:
$ hatch -e test run pre-commit install
If you’re not using Hatch, to install pre-commit, run:
$ pip install pre-commit
$ pre-commit install
Automated Testing¶
All pull requests and merges are tested in GitHub Actions
based on the workflows defined in .github/workflows
.
Running Tests¶
You will need Tox installed to run the tests against the supported Python versions. If you’re using Hatch it will be installed for you.
With Hatch, run:
$ hatch -e test run tox
Otherwise, to install and run, do:
$ pip install tox
$ tox
Drivers¶
To run the tests you’re going to need some browser drivers.
Chromedriver¶
To install the latest chromedriver on your Mac or Linux (64-bit), run:
$ ./installation/chromedriver.sh
For Windows users, please see here.
Geckodriver¶
To install the latest geckodriver on your Mac or Linux (64-bit), run:
$ ./installation/geckodriver.sh
Safaridriver¶
Instructions for safaridriver.
Edgedriver¶
Instructions for edgedriver.
Releasing a new version¶
Follow these steps to release a new version of the project:
- Update your local master with the upstream master (
git pull --rebase upstream master
) - Create a new branch and update
news.rst
with the new version, today’s date, and all changes/new features - Commit and push the new branch and then create a new pull request
- Wait for tests and reviews and then merge the branch
- Once merged, update your local master again (
git pull --rebase upstream master
) - Tag the release with the new release version (
git tag <new tag>
) - Push the tag (
git push upstream --tags
) - Done. You can monitor the progress on Travis