En laravel 5.4, puedo ver que hay métodos como:
$browser->pause(1000); $browser->waitFor('.selector'); $browser->waitForLink('Create');Pero no veo esto en Laravel 5.3.
Tenemos dos cuadros de selección encadenados donde los valores del segundo cuadro de selección se cargan a través de ajax en función de la selección del primer cuadro de selección. El problema es que cuando ejecutamos la prueba, laravel no espera a que se cargue el segundo cuadro de selección/ajax, lo que hace que la prueba falle porque no pudo seleccionar ningún valor del segundo cuadro de selección.
$this->visit('/department'); $this->select('1', 'country_id'); $this->select('1', 'region_id'); // problem here // rest of code También intenté usar sleep() pero no funcionó.
¿Alguna idea de cómo probar funcionalmente tal escenario en 5.3, por favor? Gracias
De forma predeterminada, laravel 5.3 no admite esta función. Como han introducido Ajax Testing en laravel 5.4 usando Dusk.
Consulte esta publicación: https://laravel-news.com/laravel-dusk-is-coming
Sin embargo, estamos de enhorabuena.
Mirando el composer.json del atardecer. Puede usarlo en laravel 5.3 ya que su dependencia es "illuminate/support" : "~5.3" que se satisface con Laravel 5.3.
Todo lo que necesitas hacer es: composer require laravel/dusk
Verifique composer.json aquí: https://github.com/laravel/dusk/blob/master/composer.json
Editar:
Hubo un problema con la dependencia. Creé un nuevo paquete que resolvió el problema de dependencia. He ejecutado todos los casos de prueba. No me dio ningún error.
Puede usar este paquete usando el siguiente comando: composer require pankitgami/dusk
Consulte aquí: https://packagist.org/packages/pankitgami/dusk
seeJsonEquals utilizado para verificar la coincidencia exacta de JSON
$this->post('/user', ['name' => 'Sally']) ->seeJsonEquals([ 'created' => true, ]);