Laravel-Selenium icon indicating copy to clipboard operation
Laravel-Selenium copied to clipboard

Too few arguments to function setUpTheTestEnvironmentTraits()

Open hatamiarash7 opened this issue 4 years ago • 4 comments

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

hatamiarash7 avatar Jun 03 '19 13:06 hatamiarash7

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 avatar Jul 02 '20 06:07 devtripleplus

@devtripleplus Sorry i can't remember :))) It's an old issue

hatamiarash7 avatar Jul 02 '20 06:07 hatamiarash7

@hatamiarash7 Do you have any idea how to implement selenium in laravel

devtripleplus avatar Jul 02 '20 10:07 devtripleplus

@devtripleplus You can use Laravel Dusk. It's much better

hatamiarash7 avatar Jul 02 '20 12:07 hatamiarash7