- Getting Started
- CI/CD
- Roadmap
- Integrations
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:
- npm package (global install or inside a project)
- Docker/Podman (OCI Image)
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