Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Sahi Client

Sahi Client Laravel Package

behat/sahi-client

PHP client/driver for controlling the Sahi JS test automation tool remotely. Start a browser, navigate pages, find and interact with elements (links, headers, etc.), and stop the session—useful for browser automation and acceptance testing.

View on GitHub
Deep Wiki
Context7

[UNMAINTAINED] Sahi testing framework client for php 5.3

Frequently asked questions about Sahi Client
How do I install behat/sahi-client in a Laravel project?
Run `composer require behat/sahi-client ~1.1` to install the package. Ensure you also have Sahi Server running (Java-based) and configured per its [official docs](http://sahi.co.in/w/using-sahi). The package integrates via Composer autoloading.
Which Laravel versions does behat/sahi-client support?
The package itself has no Laravel-specific dependencies, but it requires PHP 5.6–7.x (unverified for PHP 8.x). Use it with Laravel 5.x–8.x by ensuring your PHP version aligns with Sahi Server’s compatibility (typically Java 8+).
Can I use behat/sahi-client for headless browser testing?
No, this package controls real browsers (e.g., Firefox) via Sahi Server, which requires a GUI environment. For headless testing, consider alternatives like Laravel Dusk (ChromeDriver) or Playwright.
How do I find elements on a page with behat/sahi-client?
Use methods like `findLink()`, `findHeader()`, or `findElement()` with locators (e.g., text, ID). Example: `$link = $client->findLink('Submit'); $link->click();`. Sahi’s locator strategies differ from jQuery or Laravel Dusk.
Is behat/sahi-client actively maintained? Should I use it in production?
The package is **abandoned** (last update: 2016) with no official Laravel integration. Use it only if you’re willing to manually patch dependencies (e.g., `buzz/buzz`) and manage Sahi Server’s Java runtime. Fork the repo for critical fixes.
How do I handle Java memory errors when running Sahi Server?
Configure JVM heap size via Sahi’s `sahi.properties` (e.g., `-Xmx1024m`). Monitor memory usage in CI and isolate Sahi Server in a Docker container to prevent OOM kills. Example: `java -Xmx512m -jar sahi.jar`.
Can I integrate behat/sahi-client with Laravel’s testing framework?
Yes, but manually. Extend Laravel’s `TestCase` to initialize the SahiClient and wrap interactions in test methods. Example: `public function testSahiFlow() { $client = new Client(); $client->start('firefox'); ... $client->stop(); }`.
What are the performance implications of using Sahi Server in CI?
Sahi Server is **not parallelized** by default, leading to slower test suites. Expect 2–5x longer execution than headless tools. Mitigate by running tests in separate CI jobs or using Docker to isolate resources.
How do I debug issues between PHP (behat/sahi-client) and Java (Sahi Server)?
Enable Sahi’s logging via `sahi.properties` and extend the PHP client’s logger with Monolog: `$client->setLogger(new MonologLogger());`. Cross-check Sahi’s `logs/sahi.log` and PHP error logs for mismatches.
Are there alternatives to behat/sahi-client for Laravel browser testing?
For Laravel, consider **Laravel Dusk** (ChromeDriver) for modern testing or **Playwright/Puppeteer** for cross-browser automation. If you need Sahi’s features, evaluate **Sahi Pro** (commercial) or fork this package to modernize it.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator