Home Puth

Write native, repeatable and debuggable browser tests

Puth comes with a GUI, Snapshots and Laravel Integration. With CI/CD in mind Puth makes snapshots which track your test-run step by step for debugging.

use Puth\Laravel\Browser;
use Tests\PuthTestCase;

class ExampleBrowserTest extends PuthTestCase
{
    function test_visit_website()
    {
        $this->browse(function(Browser $browser) {
            $browser->visit('https://playground.puth.dev')
                ->assertSee('Puth');
        });
    }
}
GUI Preview

Same interfaces.
No learning curve.

Puth comes with a drop-in replacement for Laravel Dusk. Simply add Puth, adjust the PuthTestCase to your needs and update your existing Browser Tests to use Puth.

Failing tests in CI/CD?
Replay the full test locally.

Puth creates a Snapshot file for every test. Snapshots contain the Viewport, executed Commands, console output and errors. Drag and drop your snapshot into any Puth GUI and see what went wrong.
Drag and Dropping a snapshot into the GUI

Run via Docker or install locally

You can either run Puth via Docker or npm. The Puth Instance provides a REST Api and the Web GUI. You can even host Puth on a different machine with more performance.