5
respostas

Erro no carregamento do namespace Facebook\Webdriver\Remote

Olá Pessoal.

Estou tentando executar o meu primeiro teste e2e e estou recebendo uma mensagem de erro muito estranha. Passei a manhã inteira e parte desta tarde tentando encontrar o problema, mas não tive sucesso.O código é este:

use Facebook\Webdriver\Remote\DesiredCapabilities;
use Facebook\Webdriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Chrome\ChromeOptions;
use PHPUnit\Framework\TestCase;

class PaginaInicialTest extends TestCase {

    public function testPaginaInicialCarregaCorretamente() {
        $host    = 'http://localhost:4444/wd/hub';
        // $browser = DesiredCapabilities::chrome();
        $options = new ChromeOptions();

        // $driver = RemoteWebDriver::create($host, $browser);

        $this->assertInstanceOf(ChromeOptions::class, $options);
    }

}

Ele roda e o teste passa... ou seja, a classe ChromeOptions é carregada e instanciada. Porém, quando tiro os comentários, recebo as seguintes mensagens:

PaginaInicialTest::testPaginaInicialCarregaCorretamente
Error: Class 'Facebook\Webdriver\Remote\DesiredCapabilities' not found

ou...

PaginaInicialTest::testPaginaInicialCarregaCorretamente
Error: Class 'Facebook\Webdriver\Remote\RemoteWebDriver' not found

Já verifiquei e as classes que dão erro estão no local esperado; já tentei de tudo, mas elas não são carregadas. Estou usando criando o teste usando Codeigniter 3.1.11

A estrutura de diretórios é:

app   
_ application  
_ system  
_ test  
__ e2e  
_ vendor 

Se alguém tiver alguma ideia que possa me colocar no caminho correto, agradeço muito.Abs.

5 respostas

Reginaldo, muito estranho. Remove a pasta vendor e realiza a instalação do webdriver de novo.

Vinicius... já fiz isso várias vezes e nada! Descobri também que o PHPUnit não se dá muito bem com o CodeIgniter e encontrei um "plugin" que resolve alguns problemas em:

https://github.com/kenjis/ci-phpunit-test/tree/2.x

O problema principal é que na estrutura de diretórios que apresentei acima, não consigo acessar controllers, models e libraries do modo que o CodeIgniter gosta. Com a instalação do pacote acima, deu certo. Porém, o erro do webdriver continua o mesmo... :-(

Tentou refazer a instalação do WebDriver? Talvez tenha ocorrido algum problema na instalação. Eu honestamente nunca vi esse problema.

Olá Vinícius, boa tarde!

Tentei de tudo.

Criei um projeto novo, usando CodeIgniter 3.1.1, uma instalação fresca; coloquei o plugin no lugar e... o mesmo erro: roda os testes unitários, mas nada de funcionar o webdriver.

Radicalizei... abandonei o CodeIgniter. Criei um projeto PHP puro... apenas com uma página index, sem mais nada. Instalei o webdriver na suposição de que fosse algum problema com o CI; mesmo resultado: roda testes unitários, mas dá erro na hora de usar webdriver.

Compartilha o projeto no Github pra e testar aqui.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software