zenstruck/browser
A Laravel-friendly browser testing toolkit built on Symfony BrowserKit and Panther. Easily crawl pages, click links, submit forms, assert on HTML, and drive real headless browsers—great for end-to-end tests and fluent, expressive UI assertions.
January 8th, 2026 - v1.9.1...v1.10.0
ReflectionProperty::setAccessible() (#187) by @deluxetomREADME.md on use functions (#170) by @welcoMatticNovember 5th, 2024 - v1.9.0...v1.9.1
October 20th, 2024 - v1.8.1...v1.9.0
February 21st, 2024 - v1.8.0...v1.8.1
February 7th, 2024 - v1.7.0...v1.8.0
selectFieldOptions to deselect all values (#143) by @kbond, @notFlorancomposer.json tags by @kbondDecember 14th, 2023 - v1.6.0...v1.7.0
October 31st, 2023 - v1.5.0...v1.6.0
October 23rd, 2023 - v1.4.0...v1.5.0
Psr\Container\ContainerInterface in ->use callback (#129) by @norkunasFebruary 21st, 2023 - v1.3.0...v1.4.0
BROWSER_SOURCE_DEBUG by @kbondKernelBrowser::assertContentType() and prevent saving corrupt files (#121) by @welcoMatticFebruary 15th, 2023 - v1.2.0...v1.3.0
\SplFileInfo objects (#119) by @kbondBrowser::content() and add test (#111) by @kbondBrowser::content() to fetch the raw response body (#109) by @benr77August 29th, 2022 - v1.1.0...v1.2.0
assertMatchesSchema() (#106) by @nikophilJson::assertMatchesSchema() (#102) by @nikophilzenstruck/assert expectation API (#95) by @kbondJson::assertHas()/assertMissing()/assertThat()/assertThatEach() (#92) by @nikophilCrawler instance by @kbondApril 14th, 2022 - v1.0.0...v1.1.0
KernelBrowser (#84) by @kbondApril 8th, 2022 - Initial Release
How can I help you explore Laravel packages today?