tatut / clj-chrome-devtools

Clojure API for controlling a Chrome DevTools remote
MIT License
130 stars 21 forks source link

Question about the goals of the project #2

Closed JarrodCTaylor closed 7 years ago

JarrodCTaylor commented 7 years ago

First big 👍 from me on this repo. I have been doing work with the devtools protocol in JS land recently and daydreaming about using it from Clojure.

I'm curious about your vision for the project. The beginnings of a rudimentary higher level API in clj-chrome-devtools.automation specifically. Is that intended to grow into a full high level API or to serve as quick start examples when building you own higher level interface lib?

tatut commented 7 years ago

Thanks.

The library is still very young. The CDP part which is autogenerated should be stable. The only addition will be a more convenient way to add event listeners and some more validation with clojure.specs.

The automation API is intended to become useful for doing browser based e2e testing (something you would normally use Selenium for). I currently have a couple of tests done with this in my work project (with the clj-chrome-devtools.automation.fixture).

I'm currently adding higher-level utilities to the automation ns whenever I find myself needing new ones. I'll gladly take pull requests if you want to add some general purpose utilities, just follow the pattern of having two arities: one that uses the global connection and one that provides it as the first parameter.