0

私はAppiumが初めてで、Androidデバイスで試していたので、コードを書いているときにAndroidドライバーを使いたいのですが、エラーが発生するたびに、以下のエラーを確認してください

「スレッド "main" org.openqa.selenium.WebDriverException での例外: 返された値を WebElement に変換できません: {ELEMENT=1} ビルド情報: バージョン: '3.4.0'、リビジョン: 'unknown'、時間: 'unknown'システム情報: ホスト: 'DESKTOP-HT0VM72'、ip: '192.168.88.104'、os.name: 'Windows 10'、os.arch: 'x86'、os.version: '10.0'、java.version: '1.8 .0_144' ドライバー情報: driver.version: AndroidDriver at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:417) at io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:62) at io. org.openqa.selenium.remote の io.appium.java_client.android.AndroidDriver.findElement(AndroidDriver.java:1) の appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1)。io.appium.java_client.DefaultGenericMobileDriver.findElementByName(DefaultGenericMobileDriver.java:110) の RemoteWebDriver.findElementByName(RemoteWebDriver.java:485) io.appium.java_client.AppiumDriver.findElementByName(AppiumDriver.java:1) の io.appium.java_client .android.AndroidDriver.findElementByName(AndroidDriver.java:1) の org.openqa.selenium.By$ByName.findElement(By.java:303) の org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:402) ) io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:58) で io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1) で io.appium.java_client.android.AndroidDriver.findElement(AndroidDriver. java:1) demo.TestCase1.main(TestCase1.java:31) の原因: java.lang.ClassCastException: java.util.org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:415) で HashMap を org.openqa.selenium.WebElement にキャストできません ... 13 more"

しかし、AndroidDriverをRemoveWebDriverに置き換えるとうまくいきますか? なぜ?「Appium バージョン 1.4.16.1 (へびつかい座)」

パッケージのデモ;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import io.appium.java_client.android.AndroidDriver;

public class TestCase1 {

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

        RemoteWebDriver driver;
        DesiredCapabilities cap=new DesiredCapabilities();
        cap.setCapability("deviceName", "Fever 4G");
        cap.setCapability("platformVersion", "6.0");
        cap.setCapability("platformName", "Android");
        cap.setCapability("appPackage", "com.vector.guru99");
        cap.setCapability("appActivity", "com.vector.guru99.BaseActivity");
        driver =new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

        //verification1
        if(driver.findElement(By.name("Guru99")).isDisplayed())
            System.out.println("guru99 header is displayed");
        else 
            System.out.println("guru99 is not displayed");

        //verification2
        if(driver.findElement(By.name("Course Category")).isSelected())
            System.out.println("Course category is currently selected");
        else 
            System.out.println("Course Category is not selected");

        //Get all the courses listed in the course category
        List<WebElement> courseoffered=driver.findElements(By.id("com.vector.guru99:id/lblListHeader"));
        System.out.println("Course offered are :");
        for(WebElement course : courseoffered)
        {
            String cours= course.getText();
            System.out.println(cours);
            if(course.isEnabled())
                System.out.println("  is Enabled ");
            else
                System.out.println("  is not Enabled");

        }
        driver.quit();

    }

}
4

1 に答える 1