Laravel-Selenium
Laravel-Selenium copied to clipboard
Too few arguments to function setUpTheTestEnvironmentTraits()
I'm running this library in Laravel 5.8
There is a problem with arguments. steward return fatal error and after many search saw this error in logs :
There was 1 error:
1) Tests\SeleniumExampleTest::testExample
ArgumentCountError: Too few arguments to function Modelizer\Selenium\SeleniumTestCase::setUpTheTestEnvironmentTraits(),
0 passed in C:\<project>\vendor\modelizer\selenium\src\SeleniumTestCase.php on line 71 and exactly 1 expected
So i saw SeleniumTestCase.php
and line 71 :
return $this->setUpTheTestEnvironmentTraits();
The setUpTheTestEnvironmentTraits()
method from Testing trait, need at lease one argument as array. You can see below :
final protected function setUpTheTestEnvironmentTraits(array $uses): array
{
if (isset($uses[RefreshDatabase::class])) {
$this->refreshDatabase();
}
if (isset($uses[DatabaseMigrations::class])) {
$this->runDatabaseMigrations();
}
if (isset($uses[DatabaseTransactions::class])) {
$this->beginDatabaseTransaction();
}
if (isset($uses[WithoutMiddleware::class])) {
$this->disableMiddlewareForAllTests();
}
if (isset($uses[WithoutEvents::class])) {
$this->disableEventsForAllTests();
}
if (isset($uses[WithFaker::class])) {
$this->setUpFaker();
}
return $uses;
}
I fixed this error by editing SeleniumTestCase.php
and change line 71 as follow :
return $this->setUpTheTestEnvironmentTraits([]);
But i think you should check these process because there is serious problems
Hey @hatamiarash7, Did you find any solution for the same.
I am also getting same issue:
Tests\SeleniumTestExample> ArgumentCountError: Too few arguments to function Modelizer\Selenium\SeleniumTestCase::setUpTheTestEnvironmentTraits(), 0 passed in C:\Users\test\Desktop\websites\laravel\demo-task-list\vendor\modelizer\selenium\src\SeleniumTestCase.php on line 70 and exactly 1 expected
@devtripleplus Sorry i can't remember :))) It's an old issue
@hatamiarash7 Do you have any idea how to implement selenium in laravel
@devtripleplus You can use Laravel Dusk. It's much better