【问题标题】:Appium tests are not performed on my Android deviceAppium 测试未在我的 Android 设备上执行
【发布时间】:2019-12-15 21:44:24
【问题描述】:

我正在通过 Udemy 上的 Appium(Lastest 1.8.2)-Mobile Automation 从零开始测试课程学习自动化测试。 我正在尝试使用真实和虚拟设备,并且可以启动应用程序,但我的操作 (.click) 无法正常工作。

我正在为IntelliJ IDEA Community 2019.2 工作。

Appium 版本:v1.14.1

我使用 Maven 模块创建了 Java 项目 罐子: commons-lang3-3.0,client-combined-3.141.59,java-client,selenium-java

我的代码:

基类:

public class base {

    public static AndroidDriver Capabilities() throws MalformedURLException {

        File f = new File("src");

        File fs = new File(f, "ApiDemos-debug.apk");

        DesiredCapabilities cap = new DesiredCapabilities();

        cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Galaxy Tab S2");

        cap.setCapability(MobileCapabilityType.AUTOMATION_NAME,"UiAutomator2");

        cap.setCapability(MobileCapabilityType.APP, fs.getAbsolutePath());

        AndroidDriver<AndroidElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);

        return driver;

    }

}

基础课:

public class basics extends base {

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

        AndroidDriver<AndroidElement> driver = Capabilities();

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

        driver.findElement(By.xpath("//android.widget.TextView[@text='Preference']")).click();

        driver.findElementByXPath("//android.widget.TextView[@text='3. Preference dependencies']").click();

        driver.findElementById("android:id/checkbox").click();

    }

}

问题是我在 Appium 中收到(可能)良好的退出代码:

收到状态为 200 的响应

但我看不到该测试是在我的 Android 设备上执行的。

我遗漏了什么吗?

【问题讨论】:

  • 所以你首先需要弄清楚的是它是否甚至可以识别元素..它是否甚至尝试执行 click() 函数我假设它不工作/看不到你所在的元素运行测试后出现某种错误,您的控制台输出是什么?

标签: java android maven intellij-idea appium


【解决方案1】:

你不需要那么多依赖,只有io.appium.java-client就足够了,Appium Java客户端包含 Selenium库并保证只与它链接的版本一起工作

所以

  1. 首先尝试删除除 Appium Java 客户端之外的所有依赖项。
  2. 显式设置如下Desired Capabilities

    • MobileCapabilityType.PLATFORM_NAME 的值为 android
    • AndroidMobileCapabilityType.APP_PACKAGE 与您的应用程序包的价值
    • AndroidMobileCapabilityType.APP_ACTIVITY 与您的应用程序活动的值

    • MobileCapabilityType.AUTOMATION_NAME 应该是uiautomator2

您可以查看Appium -> Code Examples -> Java 以获得全面的信息和示例代码存储库,您可以将其用作测试的“骨架”

【讨论】:

  • 此解决方案无效。仍然有这些异常:信息:检测到方言:线程“主”java.lang.NoClassDefFoundError 中的 W3C 异常:org/openqa/selenium/remote/codec/w3c/W3CHttpCommandCodec
猜你喜欢
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
  • 2021-07-15
  • 2018-05-28
  • 2017-02-22
  • 2020-03-18
  • 2017-03-23
  • 2018-10-18
相关资源
最近更新 更多