Erro ao utilizar Dusk

138 views
Skip to first unread message

Tiago Dornelas

unread,
Jun 12, 2017, 4:05:54 PM6/12/17
to Laravel Brasil
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.

Tiago Dornelas

unread,
Jun 14, 2017, 11:36:08 PM6/14/17
to Laravel Brasil
Consegui resolver, e venho aqui documentar a solução.

Dupliquei o arquivo .env para .env.dusk.local, e nesse novo arquivo mudel o valor de APP_URL para http://localhost:8000

Gustavo Henrique de Oliveira

unread,
Oct 23, 2017, 8:59:48 AM10/23/17
to Laravel Brasil
Bom dia Tiago.

Estou tendo o mesmo problema porém fiz o que você postou acima mas não resolveu.
Teria algum outro jeito de contornar esse problema?
Obrigado desde já.. 
Reply all
Reply to author
Forward
0 new messages