java - 线程 "main"org.openqa.selenium.WebDriverException : Returned value cannot be converted to WebElement: {ELEMENT=1} 中出现异常

标签 java selenium find appium element

请解答我的疑问

您好,为 appium native 应用程序编写了您在网站上提到的相同代码,但它给出了错误 主要错误是:-

Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {ELEMENT=1}

请检查附件以获取更多说明

我的代码:-

private static AndroidDriver driver;
    public static void main(String[] args) throws MalformedURLException, InterruptedException {
        // TODO Auto-generated method stub
        // Create object of DesiredCapabilities class                             
        DesiredCapabilities capabilities = new DesiredCapabilities();
        // Optional
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        // Specify the device name (any name)
        capabilities.setCapability("deviceName", "My New Phone");
        // Platform version
        capabilities.setCapability("platformVersion", "5.1");
        // platform name
        capabilities.setCapability("platformName", "Android");
        // specify the application package that we copied from appium                
        capabilities.setCapability("appPackage", "io.selendroid.testapp");
        // specify the application activity that we copied from appium                   
        capabilities.setCapability("appActivity", ".HomeScreenActivity");
        // Start android driver I used 4727 port by default it will be 4723
        driver = new AndroidDriver(new URL("http://127.0.0.1:4727/wd/hub"), capabilities);
        // Specify the implicit wait of 5 second
        driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// Enter the text in textbox
        driver.findElement(By.xpath("//android.widget.EditText[@content-desc='my_text_fieldCD']")).sendKeys("Mukesh Selenium Appium");
        // click on registration button  
        driver.findElement(By.id("io.selendroid.testapp:id/startUserRegistration")).click();

        // Wait for 10 second
Thread.sleep(5000L);

}}

我的错误是:-

Sep 14, 2017 3:36:41 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {ELEMENT=1}
Build info: version: 'unknown', revision: '5234b32', time: '2017-03-10 09:00:17 -0800'
System info: host: 'DESKTOP-92C398N', ip: '192.168.1.14', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_121'
Driver info: driver.version: AndroidDriver
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:378)
    at io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:62)
    at io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1)
    at io.appium.java_client.android.AndroidDriver.findElement(AndroidDriver.java:1)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:476)
    at io.appium.java_client.DefaultGenericMobileDriver.findElementByXPath(DefaultGenericMobileDriver.java:140)
    at io.appium.java_client.AppiumDriver.findElementByXPath(AppiumDriver.java:1)
    at io.appium.java_client.android.AndroidDriver.findElementByXPath(AndroidDriver.java:1)
    at org.openqa.selenium.By$ByXPath.findElement(By.java:361)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:363)
    at io.appium.java_client.DefaultGenericMobileDriver.findElement(DefaultGenericMobileDriver.java:58)
    at io.appium.java_client.AppiumDriver.findElement(AppiumDriver.java:1)
    at io.appium.java_client.android.AndroidDriver.findElement(AndroidDriver.java:1)
    at a1.Selendroid.main(Selendroid.java:34)
Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.openqa.selenium.WebElement
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:376)
    ... 13 more

提前致谢

问候, 因德普雷特·考尔

最佳答案

我也遇到同样的问题

Use the following version then Appium : 1.6.5

Selenium :selenium-java-3.3.1

Appium Java 客户端:java-client-5.0.3

I downgraded the Appium client to:

Appium Java 客户端:java-client-5.0.0-BETA6 问题就解决了。

关于java - 线程 "main"org.openqa.selenium.WebDriverException : Returned value cannot be converted to WebElement: {ELEMENT=1} 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217156/

相关文章:

excel - 如何在真正的空白单元格上进行查找和替换

java - 同步适配器未运行

java - 如何使用 Selenium 在 Java 方法中初始化另一个 WebElement

java - 使用 Selenium 和 Cucumber JVM-Java 测试一组链接

python - 如果 web 浏览器在 selenium 中崩溃,进程会挂起

c++ - 设置要与无序集一起使用的自定义类 - 在集合中找不到元素

vba - 如果找到(搜索词),则执行(操作)。如果没有,结束如果

java - AndroidX 喷射器 : Failed to transform file 'android-all-9-robolectric-4913185-2.jar' to match attributes using transform JetifyTransform

java - 如何读写 XML 文件?

java - 为什么要创建一个testClass对象