【问题标题】:Selendroid program not connecting with Appium, can't do automated testingSelendroid 程序未连接 Appium,无法进行自动化测试
【发布时间】:2023-03-12 23:55:01
【问题描述】:

我已经使用 Selendroid 编写了一个 JAVA 程序来在 android 应用程序中进行自动化测试,但是不断出现错误,我已包含 selendroid-standalone-0.17.0-with-dependencies.jar、java-client-5.0。 4.jar。库中的 java-client-5.0.4-sources.jar、java-client-5.0.4-javadoc.jar 文件,仍然出现错误。请帮忙,非常需要。

错误: Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {ELEMENT=1} Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'Kapil-PC', ip: '192.168.43.212', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_92' Driver info: driver.version: AndroidDriver at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:360) 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.findElementById(RemoteWebDriver.java:403) at io.appium.java_client.DefaultGenericMobileDriver.findElementById(DefaultGenericMobileDriver.java:70) at io.appium.java_client.AppiumDriver.findElementById(AppiumDriver.java:1) at io.appium.java_client.android.AndroidDriver.findElementById(AndroidDriver.java:1) at org.openqa.selenium.By$ById.findElement(By.java:218) at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:345) 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 inventorytest.InventoryTest.main(InventoryTest.java:85) 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:358) ... 13 more C:\Users\Kapil\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1 BUILD FAILED (total time: 10 seconds)

和代码:

package inventorytest;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.CapabilityType;
 import org.openqa.selenium.remote.DesiredCapabilities;
public class InventoryTest {

 private static AndroidDriver driver;
public static void main(String[] args) throws MalformedURLException, 
InterruptedException 
{

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(CapabilityType.BROWSER_NAME, "hih");

capabilities.setCapability("deviceName", "My New Phone");

capabilities.setCapability("platformVersion", "6.0");


capabilities.setCapability("platformName", "Android");


capabilities.setCapability("appPackage", "com.example.kapil.inventory");              

capabilities.setCapability("appActivity", ".add_new_item");

driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

 driver.findElement(By.id("editText5")).sendKeys("Hello");

Thread.sleep(10000);
 driver.quit();


            }


}

【问题讨论】:

    标签: java netbeans appium selendroid


    【解决方案1】:

    看看 Appium 贡献者是如何写的Selendroid tests

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Emulator");
    capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
    capabilities.setCapability(AndroidMobileCapabilityType.SELENDROID_PORT, SELENDROID_PORT);
    capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.SELENDROID);
    driver = new AndroidDriver<>(service.getUrl(), capabilities);
    driver.context("NATIVE_APP");
    

    检查元素搜索策略并确保使用正确的策略。

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 1970-01-01
      • 2020-12-07
      • 2014-08-03
      • 1970-01-01
      • 2020-06-30
      • 2017-08-25
      • 2014-02-11
      • 2014-09-28
      相关资源
      最近更新 更多