You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Appium新手执行Selenium移动端脚本报错求助

解决Appium运行移动端Selenium脚本的报错问题

嘿,作为刚上手Appium的新手,遇到运行报错太正常啦!我帮你梳理下代码里的几个关键问题,这些大概率就是导致你报错的原因:

1. Desired Capabilities 名称大小写错误

Appium对Capabilities的命名是严格区分大小写的,你代码里的PLATFORMNAME和PLATFORMVERSION不符合规范,必须改成驼峰式的platformName和platformVersion——这是新手最容易踩的坑之一!

2. Driver类型不匹配

你同时声明了RemoteWebDriver和AppiumDriver,但实际初始化用的是RemoteWebDriver。其实AppiumDriver继承自RemoteWebDriver,还提供了移动端专属的操作API,更适合Appium测试场景,建议统一使用AppiumDriver<MobileElement>类型。

3. 额外排查建议

  • 先确认你的设备已通过USB正常连接,执行adb devices命令,确保输出里能看到你填写的UDID(A6HU4TAQKZYD8L9P)
  • 检查计算器应用的包名/Activity是否正确:部分定制ROM会修改系统应用的信息,你可以打开设备上的计算器,然后执行adb shell dumpsys window | grep mCurrentFocus命令,获取真实的appPackage和appActivity
  • 确保Appium Server已经正常启动,并且监听的地址是http://0.0.0.0:4723/wd/hub,新版本Appium(2.x)默认路径也是这个,但如果有配置改动需要对应调整

修复后的完整代码

package appiumtest;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;

public class AppiumTest { // 建议修改类名,避免和依赖类名冲突
    static AppiumDriver<MobileElement> driver; // 统一使用AppiumDriver类型

    public static void main(String[] args) {
        try {
            openCalculator();
        } catch(Exception exp) {
            System.out.println("异常原因: " + exp.getCause());
            System.out.println("异常信息: " + exp.getMessage());
            exp.printStackTrace();
        }
    }

    public static void openCalculator() throws Exception {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability("deviceName", "Babar Ali");
        cap.setCapability("udid", "A6HU4TAQKZYD8L9P"); // udid统一小写,符合规范
        cap.setCapability("platformName", "Android");
        cap.setCapability("platformVersion", "8.1.0");
        cap.setCapability("appPackage", "com.android.calculator2");
        cap.setCapability("appActivity", "com.android.calculator2.Calculator");

        driver = new AppiumDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), cap);
        System.out.println("Application started....");
    }
}

内容的提问来源于stack exchange,提问作者Soha Mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 13:57:27