-
Notifications
You must be signed in to change notification settings - Fork 849
Description
What are you trying to achieve? (Expected behavior)
I'm one of the maintainers of Dusk and we got this issue report just in: laravel/dusk#732 after people started updating to the new 1.8.0 version of php-webdriver. It seems that the changes in #560 are causing some problems and changing the behavior of some methods.
For example, we were sending an array of keys to the sendKeys but it doesn't accept that anymore when $this->isW3cCompliant is set to true in RemoteWebElement.
From what I can tell this is set to true automatically based on the driver. The changelog for 1.8.0 notes:
The protocol will be used automatically when remote end (like Geckodriver, newer Chromedriver etc.) supports it.
This seems unwanted because it changes the behavior (as noted above) on a minor release and thus causes breakages in upstream implementations (like Dusk).
I'd suggest the automatic enabling of the protocol is reverted and only applied when a new major version is released.
That or the breaking change in this particular case is fixed when the isW3cCompliant is enabled. But that would be more work I guess and I don't know where there could be more breaking changes.
What do you get instead? (Actual behavior)
Instead of allowing us to pass in an array like before we now get an array to string conversion exception.
How could the issue be reproduced? (Steps to reproduce)
I don't know the exact code to reproduce with only the php-webdriver but I guess that if you just use the chromedriver and were attempting to pass in an array to sendKeys on a RemoteWebElement instance before it'll now be broken. There's steps to reproduce the issue with dusk on this issue report: laravel/dusk#732
Details
- Php-webdriver version: 1.8.0
- PHP version: 7.4.2
- Selenium server version: unknown
- Operating system: unknown
- Browser used + version: unknown
I don't know about the last three versions above. I'll try to ask the person reporting the issue.