rattananen / webdriver
PHP library that implement W3C WebDriver protocol.
v1.2.0
2023-04-08 12:44 UTC
Requires
- php: >=8.1
- ext-intl: *
- psr/http-message: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.4.5
- phpunit/phpunit: ^10
- symfony/process: ^6.2
- symfony/var-dumper: ^6.2
Suggests
- guzzlehttp/guzzle: Client package for default client.
- symfony/process: Process handler for remote end.
This package is auto-updated.
Last update: 2024-12-08 16:14:13 UTC
README
This library is implementation for W3C WebDriver protocol. Currently, support only ChromeDriver but there is plan to support other in future.
Features
- Use modern/forgotten programming techniques to make easier for development application by this library.
- IDE friendly.
- Implement all W3C WebDriver Endpoints mean you can control browser with fully protocol's capacity.
Requirement
- PHP 8.1+
- Google Chrome 106+
- ChromeDriver version that compactible with Google Chrome
Installation
Best way is install via composer
composer require rattananen/webdriver
⚠️ This package has optional dependencies. They will missing when you install composer with --no-dev
parameter. You can use composer require package/missing
to install them if need.
Examples
See examples.md.
Know issues
- Firefox find element for shadow root doesn't implement yet (geckodriver 0.32.2)
- Firefox doesn't implement accessibility endpoints (computed role, computed label) for element yet (geckodriver 0.32.2)
- Firefox create new session is slow (geckodriver 0.32.2)
- GoogleChrome return alert message
{Alert text :
in unhandle alert reponse when alert without message argument (ChromeDriver 106.0.5249.61) - GoogleChrome duration in scroll action does wrong behevior. It's waiting time for return response instead of time for scrolling. (ChromeDriver 106.0.5249.61)
Contributing
See CONTRIBUTING.md.