Jupyter automation using a headless browser for end-to-end testing and other purposes

Hi folks,

I put together a node module to help with automating Jupyter based functionality
using “headless chrome” and puppeteer.

It is obviously useful for testing jupyter features that require browser functionality,
like widgets, as done here:

It is also intended to permit other sorts of automation. I’m hoping to use it to make
workflows that combine WebGL scenes into videos easier. Here is the current very
complicated method I’m hoping to replace:

I hope you like. Comments welcome.

– Aaron Watters

4 Likes

So I’m wondering: could this also be used to script and record the use of an ipywidget application as a movie, as as reproducible way of generating a demo screencast, for example?

1 Like

Hi Aaron, thanks for building this and sharing! This seems like something we might want to promote into core. We have some utilities in @jupyterlab/testutils that overlap somewhat. https://github.com/jupyterlab/jupyterlab/tree/master/testutils