Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Playwright CLI – Open/inspect/emulate pages, generate screenshots, record users (github.com/microsoft)
134 points by svacko on Sept 19, 2020 | hide | past | favorite | 21 comments


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.

https://github.com/Granitosaurus/bin/blob/master/ptplaywrigh...


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.

[1] https://github.com/microsoft/playwright-runner


It does not support Drag & drop, is it right?

I think the support is missing in Playwright.

Are there any plans about this?


You should try out WebTestRunner: https://www.npmjs.com/package/@web/test-runner

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.


I quite enjoying using testing-library's playwright library, see: https://www.npmjs.com/package/playwright-testing-library and www.testing-library.com


I didn’t see this listed on the official testing library page. Is it maintained by them?


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


I've had a brief but successful experience with QAWolf (https://www.qawolf.com/), which is built on Playwright (last I checked)


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".


have found using the jest preset pretty good, a little awkward getting my code injected in some cases though


same, using mocha and getting by, but would be amazing if there was a straightforward test layer built for it


Playwright has been growing on me and it'll feature heavily in a video course I'm making for browser automation.

I'm keeping the codebase open on GitHub: https://github.com/umaar/learn-browser-testing/ so anyone who wants to follow along can do so for free.


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.

[1] https://crusher.dev - Currently unfinished landing page.


We are running a SaaS platform [1] that allows you to connect your Playwright/Puppeteer to our grid of browsers. It’s built for parallel testing.

[1] https://headlesstesting.com


I'm not sure this improved much on existing solution like Taiko (https://taiko.dev/) which seems better than Playwright in a number of ways


Because it also supports Webkit?


What does it mean to have a test runner for it? Could you not just use it with jest?


How does Playwright compare to Cypress?


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].

[1] https://playwright.dev/#version=v1.4.1&path=docs%2Fwhy-playw...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: