Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make all methods protected instead of private #13

Open
andrewnicols opened this issue Dec 8, 2020 · 1 comment
Open

Make all methods protected instead of private #13

andrewnicols opened this issue Dec 8, 2020 · 1 comment

Comments

@andrewnicols
Copy link
Contributor

I think we should make all of the WebDriver methods protected instead of private to allow it to be extended and modified as required.

There are a couple of valid reasons to do this, but amongst them to there is sometimes a need to make changes which will not be accepted by the project.

As it stands the only ways to do this right now is to fork the project, and add it to the repositories list in composer.json, to use Reflection, or to copy large amounts of code. The fact that this project has had to completely rewrite the Selenium2 driver rather than just extend it and fix the relevant parts is a sign of that too.

So IMHO we should really update all methods to be protected instead of private.

@oleg-andreyev
Copy link
Owner

I'm okay with it. Also we would benefit from an extra interface it's useful for decorators. Interface probably should define extra methods e.g.: hasAttribute, clickOnElement, executeAsyncScript

but I'm not sure that methods like ensureInputType, keyModifier, decodeChar should be protected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants