Home PuthALPHA

What is Puth?

Puth is a Browser Testing Framework build on top of puppeteer. It will replace the current browser testing frameworks with an unified and modern framework. It is intended to be fundamentally extensible (with plugins WIP) and easy to use in any language. It was developed out of pure frustration with current available frameworks.

Getting Started

Puth is a Client/Server application. There are the following options to run a Puth Server:

The following language/framework integrations are currently available:

Running a Puth Server

Npm Package

You can either install puth globally or into your project root. The actual size of the package is about 200KB but the needed chrome binary is big. When executing Puth, it will check for compatible chrome binaries in your home directory ~/.cache/puth and relative to the current working directory in .cache/puppeteer. If Puth can't find a compatible chrome binary, it will automatically download chrome into whatever directory you choose. I recommend you use your home directory to prevent filling up your hard-drive with multiple Chrome copies.

$ npm -g install puth
After install, start Puth
$ puth start

Docker/Podman

The Puth OCI Image comes with the compatible Chrome version pre-installed.

$ docker run -it --rm -p 127.0.0.1:7345:7345 puthio/puth:0.6.11

Docker Compose Example

services:
    puth:
        image: puthio/puth:0.6.11
        ports:
            - 127.0.0.1:7345:7345
## Mount a folder for snapshots if you want to export them as artifacts in your CI/CD
#        volumes:
#            - ./puth/snapshots:/puth/storage/snapshots

GUI

The Puth GUI is integrated into the Puth server. You can open the GUI by calling up the Puth server URL in your browser.

Clients/Framework integrations

Currently there is only a Laravel integration.