Download the PHP package saucebase/laravel-playwright without Composer

On this page you can find all versions of the php package saucebase/laravel-playwright. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-playwright

Laravel Playwright

This repository contains a Laravel and a Playwright library to help you write E2E tests for your Laravel application using Playwright. It adds a set of endpoints to your Laravel application to allow Playwright to interact with it. You can do the following from your Playwright tests:

๐Ÿ“ฆ Installation

On Laravel side, install the package via composer:

On Playwright side, install the package via npm:

โš™๏ธ Laravel Config

Publish the config file:

This creates config/laravel-playwright.php with the following options:

๐Ÿ’ก Example

If you need a good and more complex example of a repository using this package, look at https://github.com/saucebase-dev/saucebase

๐ŸŽญ Playwright Config

Set use.laravelBaseUrl in your playwright.config.ts to the base URL of your testing endpoints (your application URL + the prefix from Laravel config).

If you use TypeScript, include the LaravelOptions type in the defineConfig function.

๐Ÿ”’ Security

The package supports an optional shared secret to prevent unauthorized access to the testing endpoints.

Laravel .env:

playwright.config.ts:

When configured, the TypeScript client sends the secret as an X-Playwright-Secret header on every request. Laravel returns 401 Unauthorized if the header is missing or doesn't match. When PLAYWRIGHT_SECRET is not set, all requests pass through (backwards compatible).

๐Ÿงช Setting up tests

In your Playwright tests, swap the test import from @playwright/test to @saucebase/laravel-playwright.

Note: In practice, it is not recommended to import from @saucebase/laravel-playwright directly in every test file if you have many. Instead, create your own test fixture extending test from @saucebase/laravel-playwright and import that fixture in your tests.

๐Ÿš€ Basic Usage

๐Ÿ”„ Dynamic Configuration

You can update Laravel config for ALL subsequent requests until the test ends.

๐Ÿ” Boot Functions

Boot functions let you run PHP code at the start of every subsequent Laravel request during a test. This is the right tool when you need a service binding or side effect to be in place for browser-driven requests โ€” not just during test setup.

A common use case is swapping a real external service (payment gateway, mailer, SMS provider) with a fake for the duration of a test.

1. Create a helper class in your app (e.g. app/E2EHelpers.php):

2. Register it in your Playwright test:

Why not use callFunction instead? callFunction runs once and returns. registerBootFunction runs at the start of every request the browser makes during the test, so service bindings registered in the boot phase are in place for the full request lifecycle โ€” including middleware, controllers, and event listeners.

Note: The helper class only needs to exist in your local and testing environments. You can guard it with an environment check or keep it out of production deployments entirely.

๐Ÿ™ Credits

This package was inspired by hyvor/laravel-playwright


All versions of laravel-playwright with dependencies

PHP Build Version
Package Version
Requires php Version >=8.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package saucebase/laravel-playwright contains the following files

Loading the files please wait ...