Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

PHPUnit Selenium

Boa tarde Peço desculpas por minha pergunta sair um pouco do tema abordado especificamente no curso, porém é relacionada ao PHPUnit, montei um teste local com PHPUnit Selenium, e o FacebookWebdriver porém ao tentar usar o FindElement o teste gera um erro: Caso eu apenas faça a conexão no driver e mande abrir uma aba, maximizar e depois fechar, ocorre tudo bem.

require 'vendor/autoload.php';
$host = "http://localhost:4444/wd/hub";

$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());

$driver->get("https://www.google.com.br/");
$driver->manage()->window()->maximize();
$driver->quit();

Porém quando eu insiro a função "findElement" é gerado um erro:

require 'vendor/autoload.php';
$host = "http://localhost:4444/wd/hub";

$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());

$driver->get("https://www.google.com.br/");
$driver->manage()->window()->maximize();
$driver->findElement(WebDriverBy::name("q"))->click();
$driver->findElement(WebDriverBy::name("q"))->sendKeys("teste falhou");
$driver->findElement(WebDriverBy::id("lga"))->click();
$driver->findElement(WebDriverBy::xpath("(//input[@name='btnK'])[2]"))->click();
$driver->quit();

Segue o erro:

λ php testando.php
PHP Notice:  Undefined index: ELEMENT in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteWebDriver.php on line 136

Notice: Undefined index: ELEMENT in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteWebDriver.php on line 136
PHP Fatal error:  Uncaught UnknownCommandException: POST /session/425a95122e1182f3a4bfab87ae67a302/element//click
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'DESKTOP-N7PDG36', ip: '192.168.0.13', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '14.0.1'
Driver info: driver.version: unknown in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\WebDriverExceptions.php:71
Stack trace:
#0 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\HttpCommandExecutor.php(268): WebDriverException::throwException(9, 'POST /session/4...', Array)
#1 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteWebDriver.php(491): HttpCommandExecutor->execute(Object(WebDriverCommand))
#2 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteExecuteMethod.php(36): RemoteWebDriver->execute('clickElement', Array) #3 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\li in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\WebDriverExceptions.php on line 71

Fatal error: Uncaught UnknownCommandException: POST /session/425a95122e1182f3a4bfab87ae67a302/element//click
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'DESKTOP-N7PDG36', ip: '192.168.0.13', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '14.0.1'
Driver info: driver.version: unknown in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\WebDriverExceptions.php:71
Stack trace:
#0 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\HttpCommandExecutor.php(268): WebDriverException::throwException(9, 'POST /session/4...', Array)
#1 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteWebDriver.php(491): HttpCommandExecutor->execute(Object(WebDriverCommand))
#2 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\remote\RemoteExecuteMethod.php(36): RemoteWebDriver->execute('clickElement', Array) #3 C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\li in C:\Users\Usuario\Desktop\Alura\tests\vendor\facebook\webdriver\lib\WebDriverExceptions.php on line 71

Agradeço desde já.

2 respostas
solução!

Fala, Yago. Encontrei esse issue aqui que sugere 2 soluções. Vê se te ajuda:

https://github.com/php-webdriver/php-webdriver/issues/468

Eu instalei o PHP WebDriver aqui e iniciei com o chromedriver (não quis levantar um selenium) e funcionou de boa, man.

Opa, valeu professor Na verdade eu acho que é algo relacionado com windows, instalei tudo em um ambiente linux e deu certo, obrigado!

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