#java
#java
Вопрос:
Я получаю следующую ошибку в строке 31, где говорится:
Несоответствие типов: не удается преобразовать из MobileElement в List
Я думаю, что это была какая-то проблема с импортом, но после импорта «java.util.List;» теперь я получаю сообщение об ошибке выше.
package br.ce.joaobastos.appium;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
public class FormulárioTeste {
@Test
public void devePreencherCampoTexto() throws MalformedURLException {
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability("platformName", "Android");
desiredCapabilities.setCapability("deviceName", "emulator-5554");
desiredCapabilities.setCapability("automationName", "uiautomator2");
desiredCapabilities.setCapability(MobileCapabilityType.APP, "C:/Users/prosi/eclipse-workspace/CursoAppium/src/main/resources/CTAppium11-200120-201928.apk");
AndroidDriver<MobileElement> driver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), desiredCapabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//Selecionar Formulario
List<MobileElement> elementosEncontrados = driver.findElement(By.className("android.widget.TextView"));
//Escrever Nome
//Checar Nome Escrito
driver.quit();
}
}
Комментарии:
1. В нем говорится, что вы не можете назначить его List<MobileElement> , этот метод называется driver.findElement возвращает только один MobileElement, а не их список.
Ответ №1:
По сути, я собираюсь сказать то же самое, что сказал @MrFisherman, что сводится к интерпретации ошибки, которую вы получаете. Ошибка
Несоответствие типов: не удается преобразовать из MobileElement в List
Пытается сообщить вам, что метод, который вы вызываете в строке 31, который driver.findElement(By.className("android.widget.TextView"));
возвращает только один экземпляр MobileElement, поэтому, если вы измените эту строку на
MobileElement elementosEncontrados = driver.findElement(By.className("android.widget.TextView"));
Ошибка исчезнет.
Надеюсь, это поможет. Еще одна вещь, я знаю, что мы на португальском языке ставим акценты в словах, но я бы настоятельно посоветовал вам воздержаться от размещения акцентов в коде, поэтому я бы предложил изменить имя класса, чтобы убрать акцент.