admc / wd

A node.js client for webdriver/selenium 2.
Other
1.53k stars 402 forks source link

Port core logic to webdriver package #562

Open christian-bromann opened 5 years ago

christian-bromann commented 5 years ago

Let's make a plan on how we can port core logic from the webdriver into WD. Given the current state I feel uncomfortable just adding it as another dependency and just stuck it into the code base. It seems to be that a rewrite that would retain the WD API is the best way forward. Therefor let's discuss what we can keep as functionality and API interface and what we should drop.

The following I consider outdated and should be dropped:

I feel like if we want to modernise this everyone needs to rewrite his tests anyway if we would drop promises. I would rather spend time on adopting all the nice things of WD into WebdriverIO.

What do you guys think? @admc @jlipps

admc commented 5 years ago

What is of course difficult about this is that I have no idea how people are using this and which API's need to continue being supported for historical reasons. I think the proposal to do a rebuild on top of the webdriver core project to re-implement these interfaces makes sense. Maybe start with promises as a major breaking release and then add the other stuff back in if people ask for it.

I also like the idea that WD functionality that people like could inform work for webdriverio and eventually just become a small wrapper, so that work doesn't need to be done in multiple projects everytime something changes.

jlipps commented 5 years ago

I agree with @admc. My thought for a next major rev would be:

i think if we do all that we'll have something that isn't busted and can be used immediately by many users or easily migrated to by other users.