1
resposta

[Dúvida] Meu teste não está rodando, pois está apresentando erro de reason: cannot use '<>'

Eu escrevi o código abaixo, exatamente como ensinado no vídeo, no entanto, está apresentando erro:

package com.penseapp.appium;

import io.appium.java_client.AppiumDriver; import io.appium.java_client.remote.MobileCapabilityType; import io.appium.java_client.remote.MobilePlatform; import org.openqa.selenium.remote.DesiredCapabilities;

import java.io.File; import java.net.MalformedURLException; import java.net.URL;

public class App { public static void main( String[] args ) throws MalformedURLException {

    File apk = new File("/Users/anselmosantos/Desktop/APPIUM/Testes_Appium/src/main/resources/81.apk");

    DesiredCapabilities configuracoes = new DesiredCapabilities();
    configuracoes.setCapability(MobileCapabilityType.APP, apk.getAbsolutePath());
    configuracoes.setCapability(MobileCapabilityType.PLATFORM_NAME, MobilePlatform.ANDROID);
    configuracoes.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2");


    URL urlConexao = new URL("http://192.168.1.7:4723/wd/hub");
    AppiumDriver driver = new AppiumDriver<>(urlConexao, configuracoes);
}

}

No entanto, o seguinte erro é apresentando:

/Users/anselmosantos/Desktop/APPIUM/Testes_Appium/src/main/java/com/penseapp/appium/App.java:26:47 java: cannot infer type arguments for io.appium.java_client.AppiumDriver reason: cannot use '<>' with non-generic class io.appium.java_client.AppiumDriver

Ele está ligado a essa parte: AppiumDriver driver = new AppiumDriver<>(urlConexao, configuracoes);

Alguém pode me ajudar?

1 resposta

Olá, Anselmo!

Parece que o erro que você está enfrentando está relacionado ao uso do operador "<>" com a classe não genérica "AppiumDriver". O problema ocorre na linha em que você declara a variável "driver":

AppiumDriver driver = new AppiumDriver<>(urlConexao, configuracoes);

Para resolver esse erro, você pode especificar o tipo de dado que será utilizado com a classe "AppiumDriver". No seu caso, você pode utilizar "AndroidDriver" como tipo de dado, já que você está trabalhando com testes de interface para Android. Assim, a linha de código ficaria assim:

AndroidDriver driver = new AndroidDriver(urlConexao, configuracoes);

Lembre-se de importar corretamente a classe "AndroidDriver" no início do seu código:

import io.appium.java_client.android.AndroidDriver;

Dessa forma, o erro relacionado ao uso do operador "<>" deve ser resolvido.

Espero ter ajudado e bons estudos!