3
respostas

Ambientes e versões de referência??

Prezados,

Parece que as versões mais recentes do selenium-stand-alone-server e/ou navegador Firefox não estão se comportando da mesma maneira como esperado pelos exercícios do curso.

Peço-lhes a gentileza de informar quais são os ambientes operacionais de referência, pacotes necessários e as respectivas versões, para que seja possível prosseguir no curso.

Existe a possibilidade de execução no ambiente Ubuntu 16.04 LTS? Não estou encontrando nanhuma combinação dos pacotes que funcione.

Tentei utilizar, no ambiente Ubuntu 16.04 LTS, o Selenium Standalone Server 2.53.0 (o mais recente no Maven central), com o Firefox 54.0; tentei ainda baixar e referenciar o geckodriver e ainda usar o Firefox 47.0.1 e 46.0.1. Todas as tentativas não surtiram efeito e, logo no primeiro exercício, apenas é aberta a janela do browser, sem nenhum conteúdo, e, após um tempo, uma mensagem de erro aparece nos logs, indicando timeout.

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host localhost on port 7055 after 45000 ms. Firefox console output:
...
    at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:112)
    at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:119)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:218)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
    at selenium.TesteAutomatizado.main(TesteAutomatizado.java:14)
Exception in thread "main" org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows:

Mesmo instalando o Chrome Version 60.0.3112.78 (Official Build) (64-bit) e usando o chrome driver, o efeito é o mesmo: uma tela em branco é aberta, sem abrir a página alvo do teste e uma mensagem de erro sai nos logs:

Starting ChromeDriver (v2.9.248304) on port 3402
[0,291][WARNING]: PAC support disabled because there is no system implementation
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"6888.1","isDefault":true},"id":1,"name":"","origin":"://"}
  (Session info: chrome=60.0.3112.78)
  (Driver info: chromedriver=2.9.248304,platform=Linux 4.4.0-83-generic x86_64) (WARNING: The server did not provide any stacktrace information)

Código utilizado:

package selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class TesteAutomatizado {

    public static void main(String[] args) {
        /*
           System.setProperty("webdriver.gecko.driver", "/home/fernando/Downloads/selenium/geckodriver");
           System.setProperty("webdriver.firefox.bin","/home/fernando/firefox/firefox");
           // abre firefox
           WebDriver driver = new FirefoxDriver();
        */

        System.setProperty("webdriver.chrome.driver", "/home/fernando/Downloads/selenium/chromedriver");
           System.setProperty("webdriver.chrome.bin",    "/opt/google/chrome/chrome");

        // abre Google Chrome
        WebDriver driver = new ChromeDriver();

        driver.get("http://www.google.com.br/");
        // acessa o site do google

        // digita no campo com nome "q" do google
        WebElement campoDeTexto = driver.findElement(By.name("q"));
        campoDeTexto.sendKeys("Caelum");

        // submete o form
        campoDeTexto.submit();

    }
}

Agradeço desde já a atenção e ajuda.

P.S.: Descobri ainda uma possível dica:

Which Firefox version is compatible with Selenium 2.53.0?

Infelizmente, o Firefox 46.0 nem abriu aqui no Ubuntu 16.04 LTS.

3 respostas

Estou com o mesmo problema, já postei a dúvida desde ontem e nada de resposta. Complicado!

Parece que complicou geral!

Forum: Selenium Users

Selenium WebDriver vs Browser version

(21/11/2016) Caveat : for the last three major versions of Firefox (48, 49, 50) it's essentially been impossible to test using Selenium, WebDriver having been deprecated and Marionette/Gecko not being feature complete WRT WebDriver.

Your options are basically i) not testing on Firefox, just test on Chrome and hope it works ii) Install Firefox 47.0.1 fortesting and hope it still works in a current version.

Descobri uma combinação que funcionou no Ubuntu 16.04 LTS!!|

(1) No projeto, utilizei as versões mais novas que encontrei no repositório Maven central: - selenium-server-standalone (2.53.0) e jUnit 4.12,

Eis as dependências usadas no projeto maven:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server-standalone -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server-standalone</artifactId>
    <version>2.53.0</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

(2) Baixei e descomprimi num diretório o Firefox 46.0, referenciando-o no código através da propriedade webdriver.firefox.bin:

public static void main(String[] args) {
    // Firefox 46.0 instalado nesse diretório
    System.setProperty("webdriver.firefox.bin",  "/home/fernando/firefox/firefox");

    // abre firefox
    WebDriver driver = new FirefoxDriver();

    // acessa o site do google
    driver.get("http://www.google.com.br/");

    // digita no campo com nome "q" do google
    WebElement campoDeTexto = driver.findElement(By.name("q"));
    campoDeTexto.sendKeys("Caelum");

    // submete o form
    campoDeTexto.submit();
}

Resultado: Agora o exercício se comporta como esperado, abrindo a página principal do Google e solicitando a pesquisa pela palavra "Caelum".

Obs: O Firefox 46.0 parece ser a última versão que ainda suporta o Selenium WebDriver.