Olá.
Estou enfrentando alguns erros ao utilizar o Dusk (laravel 5.4).
Segui todos os passos do tutorial oficial
https://laravel.com/docs/5.4/dusk.
Ao tentar rodar o primeiro teste com Dusk (o mesmo do tutorial, LoginTest), recebo a mensagem de que não foi possivel encontrar o campo "email":
1) Tests\Browser\LoginTest::testLogin
Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"css selector","selector":"body textarea[name='email']"}
(Session info: chrome=59.0.3071.86)
(Driver info: chromedriver=2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f),platform=Linux 4.11.3-1-ARCH x86_64)
O formulario é proveniente do Auth, via navegador funciona perfeitamente, o campo e-mail existe na tela, mas o Dusk não consegue encontrar.
Procurei no manual do Dusk, e vi que ele procura primeiro um input com o nome passado (aqui ele já deveria ter encontrado), depois ele procura um atributo css id, e se não achar nenhum do dois, procura por uma tag textarea com o nome.
No meu caso, falhou as tres procuras... Mas o campo existe no formulario, gerado pelo proprio Auth:
<div class="col-md-6">
<input id="email" name="email" value="" required="required" autofocus="autofocus" class="form-control" type="email">
</div>
Se eu tirar o método type() do teste do Dusk, ele retorna sucesso.
public function testLogin()
{
$this->browse(function (Browser $browser) {
$browser->visit('/login')
->assertPathIs('/login');
});
}
Isso me faz acreditar que o Dusk está instalado e configurado corretamente.
Já procurei em diversos sites e não achei mais ninguem com esse mesmo erro.
Alguém já passou por isso?
Agradeço qualquer ajuda, visto que sou novato em Laravel.