Comments (4)
Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as one separate commit on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"
Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!
from dusk.
Thank you. I am on it.
However, I should mention that when I ran laravel new bug-report --github="--public"
I got the following warning in the command output
WARN Make sure the "gh" CLI tool is installed and that you're authenticated to GitHub. Skipping...
However, running gh --version
outputs gh version 2.45.0 (2024-03-04)
, confirming that I have gh
installed, as shown in the screenshot below.
from dusk.
@damms005 can't help you with that I'm afraid.. please just create the repo manually in this case and commit any custom things separately.
from dusk.
Thanks @driesvints
Having tried to unsuccessfully reproduce it in Laravel v11 and latest v10, I am now convinced that this is a problem with my local Docker setup. I think I've got my Docker environment messed up somehow, and it somehow only affects this project.
I am no Docker expert, so I'll pass on this. However, I managed to get a workaround, and sharing here should an alien from space hit this issue, too:
Workaround
Lary of Laracast gave me a hint that helped me with a temporary fix:
- Check Network Access: Verify that the Selenium service can access the
laravel.test
service. Since they are both in the same network (sail
), they should be able to communicate without any issues.
With this nudge, I swapped APP_URL manually because no other solution I could think of worked. I tried:
- setting
APP_URL
in a service provider if running test - setting
APP_URL
inphpunit.dusk.xml
- manually creating content of
.env.dusk.local
from.env
is not an option for me
So the below hot-swap monkey-patch is my workaround: tests/DuskTestCase.php
:
protected static function ensureLaravelServiceIsAppUrl()
{
$appEnvFilePath = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '.env';
$duskEnvFilePath = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '.env.dusk.local';
$laravelServiceName = 'laravel.test'; // -> service name in docker-compose.yml
$appUrlForDusk = "http://{$laravelServiceName}";
$contentOfEnv = file_get_contents($appEnvFilePath);
$contentOfDuskEnv = file_exists($duskEnvFilePath)
? file_get_contents($duskEnvFilePath)
: '';
$appUrlInContentOfDuskEnv = preg_match('/APP_URL=(.*)/', $contentOfDuskEnv, $duskEnvMatches);
if (!$appUrlInContentOfDuskEnv) {
return self::copyEnvAndWriteLaravelServiceNameToDuskEnv($duskEnvFilePath, $appUrlForDusk, $contentOfEnv);
}
if ($duskEnvMatches[1] !== $appUrlForDusk) {
return self::copyEnvAndWriteLaravelServiceNameToDuskEnv($duskEnvFilePath, $appUrlForDusk, $contentOfEnv);
}
}
protected static function copyEnvAndWriteLaravelServiceNameToDuskEnv(string $duskEnvFilePath, string $appUrlForDusk, string $contentOfEnv)
{
$updatedContentOfEnv = preg_replace('/APP_URL=(.*)/', "APP_URL={$appUrlForDusk}", $contentOfEnv);
file_put_contents($duskEnvFilePath, $updatedContentOfEnv);
}
The finally, call it if running sail:
/**
* Prepare for Dusk test execution.
*/
#[BeforeClass]
public static function prepare(): void
{
if (!static::runningInSail()) {
static::startChromeDriver();
}
if (static::runningInSail()) {
self::ensureLaravelServiceIsAppUrl();
}
}
from dusk.
Related Issues (20)
- A way to have different environment variables HOT 2
- Dusk v7.8.0 breaks Pest support
- Downloading ChromeDriver 115+ fails HOT 7
- Dusk 7.9.0 \ chromedriver.exe path not found HOT 11
- [7.9.1] unknown error: cannot find Chrome binary HOT 5
- `--stop-on-failure` option no longer seems to work HOT 1
- Driver won't download with Telescope enabled HOT 8
- unknown error: cannot find Chrome binary HOT 1
- Error This version of ChromeDriver only supports Chrome version 114 Current browser version is 118.0.5975.0 HOT 1
- Assertion failure can lead to timeout if using multiple browsers HOT 5
- Test class with no tests gives non-zero stderr status, but no warning to stdout and shows all tests pass HOT 5
- Unexpected behaviour when working with multiple checkboxes HOT 1
- waitForTextIn() broken in dusk 7.11.2 HOT 2
- Unknown option "--ansi" and "--no-ansi"
- Laravel Dusk doesn't trigger on @input when attached to <select> only on @change when using Vue HOT 2
- When running `php artisan dusk` the tests do not complete. They just hang. - MacOS Sonoma 14.2.1, Chip: M3 Pro HOT 9
- Throwing an exception in a dusk test inside the browser callback results in timeouts HOT 2
- vueAttribute does not work with Vue 3 and vite build. only with vite dev. HOT 6
- Dusk slows down after call to dump() HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dusk.