PHP and WebDriver – This time with a partial solution
Not too too much has changed since A Survey of the Php and Selenium Landscape except that the Facebook bindings have been abandoned by Facebook. Or at least it would appear so. Which means we have a couple ‘implementations’ and then their forks (or the GitHub hosted ones).
I originally thought it was a bad thing to have so many (where ‘so many’ is > 1) implementations as it is confusing for the end user, but I think its likely better to have the number we do have so that it forces us to keep on top of things. Kinda like how having 3 major OSes is better than just one. What I do think is unfortunate is the number of forks the GitHub hosted ones have. Most specifically around the Facebook bindings.
There are by my count 26 different forks of the Facebook binding that have made a commit (according to the network graph). The is 26 slightly different variations of the same binding. And that isn’t healthy.
And its something I want to fix.
I believe my fork to be the closest to the ‘officially supported’ languages in terms of features and functionality so it makes sense to work from it for this scheme. And that scheme is to collapse all the forks into my fork and re-declare it the ‘official’ one. I have a far greater vested interest in keeping it alive and current than Facebook does so have incentive to not completely abandon it.
The rough ‘to do’ list for this is something like this…
- Go through the network graph of the original bindings and make sure that I have pulled in the appropriate changes into mine
- Contact the existing fork-ers, and let them know of this scheme
- The class names changed in order to adhere to PEAR’s packaging structure, so a set of non-PEAR compliant classes to act as facades will need to be created in order to ease migration
- Get things importable via Composer
- Document the heck out of it
- Test coverage! Using the same site that the Se CI setup uses
- Integrate Travis and Sauce Labs’ OSS OnDemand
I’ll even up the ante a bit to show how serious I am about this effort. If you are either using the Facebook bindings, or one of the forks of them, I will give you an hour of free consulting to help migrate you from theirs to mine. email me or call me [1-905-995-5035] to talk about this.
And if you want to help, I think I have figured out why I wasn’t getting my GitHub pull request notices so plan on being a lot quicker with the pull requests.