9
respostas

A Java Exception has occurred.

Sempre que tento rodar a aplicação, o sistema exibe o erro "A Java Exception has occurred.". Percorri todos os tópicos, fiz tudo o que foi sugerido aos outros, mas nenhum solucionou meu problema. Abaixo, segue o código:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;


public class TesteAutomatizado {

    public static void main(String[] args) {

            System.setProperty("webdriver.gecko.driver", 
                    "C:\\Users\\Fernanda\\Desktop\\Cursos TI\\ALURA\\Selenium\\geckodriver.exe");
            System.setProperty("webdriver.chrome.driver", 
                    "C:\\Users\\Fernanda\\Desktop\\Cursos TI\\ALURA\\Selenium\\chromedriver_win32_v2.25.exe");

//        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
//        WebDriver driver = new ChromeDriver(capabilities);

        WebDriver driver = new FirefoxDriver();

        driver.get("http://www.google.com.br");

        WebElement campoDeTexto = driver.findElement(By.name("q"));
        campoDeTexto.sendKeys("Caelum");

        campoDeTexto.submit();
    }
}

E o erro exibido no console:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
    at java.lang.Class.getMethod0(Class.java:2866)
    at java.lang.Class.getMethod(Class.java:1676)
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
9 respostas

Oi Fernanda, tudo bem ?

Consegue ir no terminal e ver a versão do java e do javac ?

java -version

javac -version

Oi Matheus! Segue abaixo o retorno do terminal sobre as versões:

javac 1.7.0_80-ea
java  1.7.0_80-ea
Java(TM) SE Runtime Environment (build 1.7.0_80-ea-b05)
Java Hotspot (TM) Client VM (build 24.80.b07, mixed mode, sharing)]

Fernanda, qual é a versão do Selenium que está usando ?

Matheus, a versão é:

selenium-server-standalone-3.6.0.jar

Fernanda, tudo bem ?

Tenta atualizar a versão do seu java para 8, vi que na documentação algumas coisas usam recursos novos, por isso deve estar gerando esse problema.

Oi Matheus, tudo bem contigo?!

Atualizei o Java para a versão 8, mas o problema persiste! =/

Mas no seu eclipse qual versão você configurou para usa r?

Olá Fernanda,

provavelmente seu build path não está configurado pro Java 8 como o Matheus sugeriu. Para entender a mensagem de erro da Exception basta você saber que cada versão do Java :

J2SE 9 = 53
J2SE 8 = 52
J2SE 7 = 51
J2SE 6.0 = 50
J2SE 5.0 = 49
...

Abraços

Olá! Fiquei um tempo off, rs...

Atualizei tudo: Java 8, JDK 8, selenium 3.9.1... Tudo ok, tudo lindo... Se não fosse o "driver.sendKeys" rejeitar o "Caelum" como parâmetro e exibir o erro abaixo:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The method sendKeys(CharSequence[]) in the type WebElement is not applicable for the arguments (String)

    at TesteAutomatizado.main(TesteAutomatizado.java:20)

Ao retirar o "Caelum" e rodar, o browser abre (normal), mas nada é pesquisado :)

Obs: Já instalei o geckodriver...

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