As soon as python bindings came out I made a `promt-toolkit` based shell[1] for playwright and it has been such a time saver for prototyping!
$ ptplaywright
> goto('https://news.ycombinator.com')
# click on first comments link
> click('.subtext>a:last-of-type')
# type in text in comment box
> type('textarea', 'hello world')
I was about to refactor it to a whole package and submit it to pypi if anyone is interesting in this sort of behaviour.
I love playwright, especially since you get three browser engines (Webkit, Chromium and Gecko) under one unified API.
I am little disappointed they don’t have a testing library built on top of it, so I’m constantly either trying to re-invent the wheel or I end up using libraries I don’t like.
Sam issue I had with puppeteer. I think first party testing integration would be such a huge win with this.
I otherwise have nothing but awesome things to say about the playwright project, it really is such a great improvement over selenium and I think it’s now got a more ergonomic API than puppeteer
Thanks for the feedback! I'm on the Playwright team.
We are building playwright-runner[1] to solve this problem. We are dogfooding the project internally, and a few weeks away from opening it up to early adopters.
It's a very, _very_ fast test runner that supports Playwright, Puppeteer, Selenium, BrowserStack and Sauce launchers.
We're using it for the new versions of lit-html and LitElement and the speed of re-running only effected tests on all three engines is amazing - it's nearly instant.
Abstracting away the browser launcher from just Playwright or Puppeteer means that your test infra still runs against IE11 or specific versions of, say, Safari if you need to.
No, but it’s a fork of the puppeteer version which is part of testing library. As playwright is quite similar to the puppeteer library with small changes, it’s quite well maintained imho. Enjoying using it
Beauty about Playwright (or puppeteer) is API itself is much complete & good devx to start using for browser testing. All you need is jest kind of wrapper.
Just curious, why do you prefer a first-party testing integration; Is it to save on harness maintenance or do you not like any of the stand-alone testing libraries, or something else? I guess I don't quite follow what you mean by "re-invent the wheel".
We're also to building SAAS produt which is very similiar[1].
Things we are supporting
- No-code test creation. Both playwright-cli and QAwolf supports it.
- Much more control over elements. We're using native chrome extension to achieve it. Integrated ChaiJS on top of it.
- Automated screenshot capturing, video + all debug info (console, network, DOM) when test fails.
We're looking for early beta users. If you're interested in trying it out + pizza send along your way, please fill this form https://bit.ly/2FU2Vc4.
P.S.- We're planning to start beta testing in couple of days.
In short: support for WebKit (to test Safari), out-of-process automation (not constrained by scope of in-page JavaScript, for example, to test multiple pages/frames/domains), support for non-JS language bindings. For a more comprehensive list, check out "Why Playwright?"[1].
https://github.com/Granitosaurus/bin/blob/master/ptplaywrigh...